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