采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好,如图所示,在没有使用装饰器的时候,运行返回结果如下所示,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.4k 18
2.2k 15
1.5k 15
1.5k 12
2.2k 11
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号