使用类来写装饰器

2017-01-16 分类:Python 阅读(2481) 评论(2)

前两天发现了装饰器可以直接使用类来写,分享一下,需要用类里面的__call__方法,__call__方法就是可以把这个实例当成一个函数来调用,如果正常使用类里面的方法的话,实例方法要先实例化类,然后才能调用,静态方法、类方法则需要用类名或者实例化之后的对象来调用,而实例化之后的这个对象,是不能被调用的,__call__方法就是把这个实例变成一个可以调用的对象,也就是说实例化之后,这个对象就可以和一个普通函数一样被调用。

示例代码如下:

运行结果:

理解了上面的之后,就可以使用class来写一个装饰器了,计算程序的运行时间,当然思想和以前用函数写装饰器是一样的

运行结果:

 

您可能也喜欢:

Python字典转对象

字典取值的话,需要d["name"] 或者d.get("xx"),如果把字典转成一个对象,那取值就很方便了,d.name这样取就可以了, 下面这个类就是把字典转成一个对象的,传入一个字典后,会自动把字典转成对象,就可以xx.xx这么用了 ...

more

Python AES加密

AES是一种常用的对称加密的方法,高级加密标准(Advanced Encryption Standard),对称加密就是加密解密的方式都一样,只要知道了你加密用的key就可以解密,加密速度比较快,适合大数据量的加解密处理 https://blog.csdn.net/qq_28205153/artic...

more

Python的重试模块

我们写代码的时候,经常会用到重试,如果出错了,或者出现了其他的问题,就重试一次或者N次,自己写实现起来比较复杂,用retrying模块就可以很容易的解决了。 1 pip instal...

more

评论&留言
欢迎新朋友你的到来!
已经有2 条评论抢在你前面了~
昵称

  1. 匿名

    嘚嘚嘚

    #1
    回复
  2. 莫愁

    牛牛,我要给你生个猴子!

    #2
    回复

登录

忘记密码 ?

切换登录

注册