1.参数传递
位置参数
关键字参数
若同时有位置参数和关键字参数,则位置参数在前,否则报错
默认值参数:
def happy_birthday(name='小李', age=10):
print('祝'+name+'生日快乐!')
print(str(age)+'岁生日快乐!')
happy_birthday()
happy_birthday('小王')
happy_birthday(age=19)
# happy_birthday(19) 会报错
def fun(a, b=20):
pass
'''
def fun2(a=20,b):
pass
会报错,应当位置参数在前,默认值参数在后
'''
个数可变参数:
# 位置传参
def funny(*para):
print(type(para))
for item in para:
print(item)
funny(10, 20, 30, 50)
funny(90)
funny(30, 80)
print()
funny([11, 22, 33, 44])
# 实际传递的是一个参数
funny(*[99, 88, 77, 66])
# 调用时参数前加*将列表解包
print()
# 关键字传参
def funny2(**kpara):
print(type(kpara))
for key, value in kpara.items():
print(key, '---->', value)
funny2(name='小牛', age=3,height=120)
print()
d = {'name':'小兵','age':12,'height':135}
funny2(**d)
# 若传入的是字典,则需要系列解包
2.函数返回值
def calc(a,b):
s=a+b
return s
get_s = calc(1, 2)
print(get_s)
get_s2 = calc(calc(1, 2), 3)
print(get_s2)
# 可以存储到变量当中,也可以进行多次运算
print()
# 多个返回值
def get_sum(num):
s = 0
s_odd = 0
s_even = 0
for i in range(num+1):
if i%2!=0:
s_odd+=i
else:
s_even+=i
s+=i
return s_odd, s_even, s
r = get_sum(10)
print(type(r))
print(r)
# 解包
a, b, c = get_sum(10)
print(a)
print(b)
print(c)
3.global s 定义全局变量
4.匿名函数
# lambda() 匿名函数只能用一次
def calc(a, b):
return a+b
print(calc(10, 20))
# 匿名函数
s = lambda a, b: a+b
print(type(s)) # 函数类型
print(s(10, 20))
print('-'*40)
# 列表取值
lst = [10, 20, 30, 40, 50]
for i in range(len(lst)):
print(lst[i])
print('-'*40)
for i in range(len(lst)):
result = lambda x: x[i] # 根据索引取值,result类型为function
print(result(lst))
# 字典
student_scores = [{'name': '小明', 'score': 98},
{'name': '小明', 'score': 98},
{'name': '小明', 'score': 98},
{'name': '小明', 'score': 98}]
5.递归
函数调用,自己调用自己
递归调用+递归终止
# 阶乘操作 n!=n(n-1)! # 缺点: 占用内存较多
def fac(n):
if n == 1:
return 1
else:
return n*fac(n-1)
print(fac(5))
6.内置函数
类型转换
字符串中整数和浮点数都可转为int()型,但是字符串中为浮点数不可以转为int()型
数字函数
内置函数
reversed() 结果是迭代器对象,需要转换才能看到结果
fliter()和map()中的function写入函数,不加()(加括号是调用函数)
def fun(num):
return num % 2 == 1
obj = filter(fun, range(1, 10))
print(list(obj))
def upper(x):
return x.upper()
lst = ['hello', 'world', 'python']
obj2 = map(upper, lst)
print(list(obj2))
其他函数
标签:10,return,函数,Python,lst,Part6,print,def,name From: https://blog.csdn.net/m0_67249562/article/details/138466326