Cod*_*ice 5
return greet()
在装饰器中,您调用greet()
并返回其结果。由于greet()
没有显式返回,结果是None
。认识到装饰器是以下内容的速记语法会有所帮助:
def hello():
pass
hello = maint(hello)
请注意 hello 是如何重新分配给任何maint()
返回的。在您的情况下,hello
被重新分配给None
. 所以调用hello()
会导致错误。
要解决此问题,只需return greet
不使用括号即可。装饰器总是返回一个函数。他们不应该调用那个函数。
更多推荐
错误,代码
发布评论