图解Python多修饰器时哪个先起作用

修饰器本质上是一个函数,它接收一个函数作为参数并返回一个修饰过的新函数,一般来说不会改变函数的功能,只是在外围增加一些辅助性的检查或小功能。

在拙作《Python程序设计开发宝典》中有下面这样一段用来演示修饰器用法的代码:

有读者朋友问:两个修饰器before和after,哪个先起作用,哪个后起作用呢?这段代码好像看不出来,其实对代码稍微修改一下即可得到答案。

修改一:

修改二:

修改三:

通过上面的验证可知,在使用修饰器的两种形式中,距离被修饰的函数近的修饰器先起作用。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180527G0J0PI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券