python装饰器具体是怎么工作的

发布网友 发布时间:2022-04-21 17:58

我来回答

2个回答

热心网友 时间:2022-04-06 04:36

分析线面的代码可以得出结论,可以复制代码后自行打断点进行调试
def task(weight=1): # 代码被执行的时候首先会到这里,执行装饰器
def decorator_func(func):
func.locust_task_weight = weight return func return decorator_func # 代码执行的这里的时候会返回来源函数,获取到来源函数的对象共装饰器使用@task(1)def test():
print(test)if __name__ == '__main__':
test()

热心网友 时间:2022-04-06 05:54

装饰器就是个闭包。新的函数里面调用原来的函数,最后返回原函数。调用的时候先调用新函数完成新功能,然后再调用原函数完成原来的功能。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com