我这样定义和使用装饰器哪里错了呢?

bandaoyu 2019-01-04 02:12:41
我自己定义装饰器

def MyDecorate(fun):
def wrapper():
print(fun.__name__)
return fun()
return wrapper()


@MyDecorate
def Myfun():
print("no name")


然后这样调用:
Myfun()

然后就报错了:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-42-8029a350c1d9> in <module>
----> 1 Myfun()

TypeError: 'NoneType' object is not callable



这是为什么?应该怎么改正
...全文
78 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
混沌鳄鱼 2019-01-04
  • 打赏
  • 举报
回复
把第5行的括号去掉,还没有定义完就调用报错。

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧