采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好,如图所示,在没有使用装饰器的时候,运行返回结果如下所示,add 内部print 3,下面 print返回了 add return 回来的值"hello"
3 hello
使用装饰器的时候,add 内部 print 3,但是下面 main 中 print 出来的结果不是 hello , 而是 None,如下所示
3 Cost 2.0031261444091797 seconds None
不知道是装饰器的特性无法 return, 只能运行还是我代码上的问题。
主要原因是 warpper 仅仅运行了 add ,但是没有接收 add 返回的值
而这里是 使用 wrapper 对 add 进行包裹,所以不能直接 return func()(后面的代码就无法运行)
所以,用 res 接收 func 即 add 返回的值,在 wrapper 的最后返回这个值即可。
正解。
登录后可查看更多问答,登录/注册
异步IO并发编程/Form,ORM/aiomysql、peewee-async/epoll
1.0k 18
1.9k 15
1.3k 15
1.2k 12
1.9k 11