php做网站用什么开发工具,有哪些做策划的用的网站,wordpress改端口,南海网站制作1 python装饰器嵌套基础
python支持装饰器嵌套#xff0c;即多个装饰器装饰同一个函数或方法。
1.1 嵌套执行顺序
用法
a_deco
b_deco
c_deco
def test_nest_deco():pass描述
a_deco、b_deco、c_deco分别占一行#xff0c;编写在同一个函数或方法的def语句上方。
从def…1 python装饰器嵌套基础
python支持装饰器嵌套即多个装饰器装饰同一个函数或方法。
1.1 嵌套执行顺序
用法
a_deco
b_deco
c_deco
def test_nest_deco():pass描述
a_deco、b_deco、c_deco分别占一行编写在同一个函数或方法的def语句上方。
从def开始由近到远依次执行装饰器c_deco、b_deco、c_deco。
等价于
test_nest_decoa_deco(b_deco(c_deco(test_nest_deco))))示例 def a_decorator(func):print(a_decorator 被调用)return funcdef b_decorator(func):print(b_decorator 被调用)return funcdef c_decorator(func):print(c_decorator 被调用)return funca_decorator
b_decorator
c_decorator
def test_nest_deco():print(test_nest_deco 被调用)c_decorator 被调用
b_decorator 被调用
a_decorator 被调用test_nest_deco()
test_nest_deco 被调用1.2 嵌套返回调用对象
描述
装饰器的包装函数比如a_wrapper()保存接收到的入参函数以便包装器调用。
最后执行的包装器a_decorator()会将返回的包装器a_wrapper赋值给主函数变量名test_nest_deco。
调用主函数test_nest_deco()时相当于调用最后的包装器a_wrapper()。
示例 def a_decorator(func):print(a_decorator 被调用)def a_wrapper():print(func.__name__.center(50,))func()return 返回 a_decoratorreturn a_wrapper def b_decorator(func):print(b_decorator 被调用)def b_wrapper():print(func.__name__.center(50,))func()return 返回 b_decoratorreturn b_wrapper def c_decorator(func):print(c_decorator 被调用)def c_wrapper():print(func.__name__.center(50,))func()return 返回 c_decoratorreturn c_wrapper a_decorator
b_decorator
c_decorator
def test_nest_deco():print(test_nest_deco 被调用)c_decorator 被调用
b_decorator 被调用
a_decorator 被调用test_nest_deco()
b_wrapper
c_wrapper
test_nest_deco
test_nest_deco 被调用
返回 a_decoratortest_nest_deco.__name__
a_wrapper