Python高级特性总结
Reference
Decorator
在python中,函数也是一个对象,通过打印函数对象的name就可以得到函数的name,例子如下:
def haha():
print(‘hello’)
haha()
print(haha.__name__)
# 输出
hello
haha
什么是装饰器?我们明确了函数是一个对象后,我们就可以在其类中添加装饰函数。要增强haha()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改haha()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。下面是一个装饰器的定义:
def log(func): # 参数是一个ha
def wrapper(*args, **kw):
print(‘call %s():’ % func.__name__)
return func(*args, **kw)
return wrapper
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Q's blog!
