返回函数
EG
def lazy_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum
注意,由于返回函数的闭包特性(即所谓调用时才执行),谨慎使用循环变量...或者...不要使用
匿名函数
>>> list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
[1, 4, 9, 16, 25, 36, 49, 64, 81]
# lambda x: x * x 即为匿名函数,x表示参数
#还记得map吗孩子
装饰器 Decorator
是一种在代码运行时动态增加功能又不对原还是做出改变的方法
@语法:'@' 用做函数的修饰符,可以在模块或者类的定义层内对函数进行修饰。
偏函数 Partial function
functools.partial 把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,创建偏函数时,实际上可以接收函数对象、*args和**kw这3个参数。