一、装饰器
1、将函数赋值给对象
函数对象有一个name属性,可以拿到函数的名字
2、装饰器decorator
在代码运行期间动态增加功能(在函数调用前后自动打印日志)的方式
本质是一个返回函数的高阶函数
3、接受一个函数作为参数,并返回一个函数
通过@,将decorator置于函数定义处
@log
def now():
print('2017-5-21')
注:原来指向now()函数的now变量指向了新的函数,于是调用的时候,调用新函数(首先打印日志,再调用原始函数)
二、偏函数(functools模块中)
更改函数中的默认参数,创建一个新的函数
int2 = functools.partial(int,base=2)
网友评论