函数参数补充:
还可以这样传参:
def f(*args): print(args) f(*[1,3,4,5]) #输出结果:(1, 3, 4, 5) 注意这是一个元组 def f2(**kwargs): print(kwargs) f2(**{'name':'alex','age':18}) #输出结果:{'age': 18, 'name': 'alex'} 注意这是一个字典
高阶函数:
1、函数名可以进行赋值
2、函数名可以作为函数参数,还可以作为函数的返回值
递规函数:
def fact(n): if n==1: return 1 return n*fact(n-1) print(fact(5))
关于递归的特性:
1、调用自身函数
2、有一个结束条件
但凡是递归可以写的循环都可以解决。
递归的效率在很多时候会很低。
匿名函数:
匿名函数的命名规则,用lambda关键字标识,冒号左侧表示函数接收的参数(a,b),冒号右侧表示函数的返回值(a+b)。
因为lamdba在创建时不需要命名,所以,叫匿名函数
lambda a,b : a+b