1. 装饰器(decorator)
在代码运行期间动态增加功能的方式,称之为「装饰器」(decorator)。本质上,decorator 就是一个返回函数的高阶函数,它需要接受一个函数作为输入参数,并返回一个函数。
代码语言:javascript复制def log(func):
def wrapper(*args, **kw):
print('call %s():' % func.__name__)
return func(*args, **kw)
return wrapper
上面的 log
就是一个 decorator。Python 的 @ 语法可以把 decorator 置于函数的定义处:
@log
def now():
print('2015-3-25')
此时调用 now
函数,会在运行 now
前运行 log(now)
打印日志。
2. 偏函数
functools.partial
的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。