廖雪峰Python 函数
廖雪峰Python 函数
智汇君廖雪峰Python 函数
函数
函数参数
1 | 函数调用时可以按位置参数传参,也可以写明参数名传参 |
1 | python函数可以返回多个值(其实是一个值,返回的一个tuple),sql和java类函数只能返回一个值 |
1 | 位置参数:函数调用时传参顺序要和函数定义时的参数顺序一样 |
1 | 关键字参数:**kw,函数内部自动把kw变成字典 |
1 | 命名关键字参数:关键字参数的缺点,调用时可能参数不受限制不想要的参数。如果要限制关键字参数的名字,就可以用命名关键字参数 |
1 | 函数名是一个变量指向函数,可以将另外的变量指向函数,函数也可以指向其它类型的值 |
1 | java的函数只能在类里面,sql可以单独定义函数 |
递归函数
高阶函数
1 | 函数名作为传入参数 |
map、reduce
1 | map返回iterator、reduce函数 |
1 | from functools import reduce |
filter
1 | 和map差不多,传入函数作用于每一个元素,结果为True的保留 |
sorted()
闭包 nonlocal
1 | 使用闭包时,对外层变量赋值前,需要先使用nonlocal声明该变量不是当前函数的局部变量。 |
匿名函数
1 | lambda |
装饰器
偏函数
递归
1 | 尾递归 |









