正在回答 回答被采纳积分+1
1回答
好帮手慕美
2022-06-23 11:28:39
同学,你好!被装饰函数作为参数传入到装饰器的外层函数中,然后在内层函数中运行、附加功能,随后把内层函数作为结果返回。被装饰函数的函数名指向的是加工过的函数代码(内层函数),同学可以理解为固定写法。
例:下面的两段代码实现的功能是一样的,添加装饰器后调用func_a()相当于将func_a函数作为参数传到foo函数中即foo(func_a),该函数返回wrapper后,再执行wrapper()
def foo(func): def wrapper(): print("a") return func() return wrapper def func_a(): print("func_a") foo(func_a)()
@foo def func_a(): print("func_a") func_a()
祝学习愉快!
Python全能工程师
- 参与学习 人
- 提交作业 16233 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星