2.4.3 装饰器
本节目标:
了解装饰器
Learning By Reading 难度:★★★ 重要性:★★★★★
阅读材料,了解装饰器。
简单来说,
@deco
def func(x):
pass
等价于
def func(x):
pass
func = deco(func)
同样,
@deco
class Clazz(object):
pass
等价于
class Clazz(object):
pass
Clazz = deco(Clazz)
尝试,
def deco(func):
def _func(*args, **kwargs):
return func(*args, **kwargs)
return _func
@deco
def func():
pass
print(func.__name__) # 结果:'_func'
我们会发现,func = deco(func)
之后,func
的__name__
等信息变了。
理解一下~与同组的讨论一下为什么。
材料中已经提到了比较实用的例子,我们在下一节也会提到其他一些具体的例子。
Learning By Reading 难度:★★ 重要性:★★★★
阅读材料,了解
warps
。
Last updated