有点不明白为什么要多加一层装饰
有点没太明白为什么要加一层decorator(func)装饰,之前试了一下不加decorator(func)程序就报错了。还有每加一层装饰就要return一下这个函数吗?有点没太明白这里面的逻辑。还有就是为什么要把func作为形参放入decorator里,我试了一下把func放到wrapper里也是报错了
没加decorator,然后把func放在wrapper里了,然后报错
21
收起
正在回答
1回答
同学你好:首先装饰器必须写成闭包的格式,即外层函数返回内层函数对象,内层函数使用外层函数的局部变量,因此func不能写在最内层的wrapper中,要写在decorator(func)里。而外面又嵌套一层函数是因为我们想要传递参数,需要再嵌套一层进行接收参数,因此要在最外层接收参数log(name=None)。如下图:
如果解决了你的疑惑,请采纳,祝学习愉快~
1.Python零基础入门
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星