老师,我对装饰器fun和func()不太理解,对执行两个装饰器后的输出结果顺序不太理解

老师,我对装饰器fun和func()不太理解,对执行两个装饰器后的输出结果顺序不太理解


不是执行完第一个装饰器log完成后,再执行log_in装饰器吗,我理解成输出的最后应该是   结束...,而不是   end...

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手乔木 2019-10-08 18:46:14

同学你好:

http://img1.sycdn.imooc.com//climg/5d9c68db09a52fbd03900706.jpg

func代表这要被修饰的函数。那个函数被装饰,这个函数就为func。

装饰器的顺序是:

log_in()

log()

执行的顺序·:

log->log_in

那么执行的时候先执行log装饰器的内容,执行后程序还没有结束要继续执行log_in装饰器。

所以当执行log_in函数时,这时要装饰的内容变为:

start

ok

end

所以最终执行的效果为:


如果我解决了同学的问题,请采纳!学习愉快^_^。


  • 那请问老师,这个案例中被修饰的函数是test() func就代表的是test()吗?
    2019-10-16 19:40:49
  • 同学你好:func代表的是被修饰的函数,在本例中,被修饰的函数就是test()。学习愉快^_^。
    2019-10-17 09:25:31
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师