为什么在装饰器上调用函数时出现错误提示

时间:2018-10-05 08:36:38

标签: python decorator

有些人可以解释一下,我使用python 2.7收到错误以及正确的输出。

Before func2
I am being decorated
After func2
Traceback (most recent call last):
File "s.py", line 48, in <module>
func_d()
TypeError: 'NoneType' object is not callable

输出为:

{{1}}

1 个答案:

答案 0 :(得分:1)

您应该从装饰器函数返回函数对象,而不是实际调用函数并返回其返回值。

更改:

return func2()

收件人:

return func2