关键词搜索

源码搜索 ×
×

Python笔记-类装饰器

发布2020-02-26浏览4419次

详情内容

使用类装饰器还可以依靠类内部的__call__方法,但使用@形式将装饰器附加到函数上时,就会调用此方法。

如下代码:

  1. class Foo(object):
  2. def __init__(self, func):
  3. self._func = func
  4. def __call__(self, *args, **kwargs):
  5. print("class decorator running")
  6. self._func()
  7. print("class decorator ending")
  8. def bar():
  9. print("i am bar")
  10. @Foo
  11. def bar():
  12. print("I am bar")
  13. @Foo
  14. def HelloWorld():
  15. print("Hello World")
  16. if __name__ == "__main__":
  17. bar()
  18. HelloWorld()

运行截图如下:

装饰器在使用时,没有函数装饰器用得多。

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载