使用类来写装饰器

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

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

示例代码如下:

运行结果:

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

运行结果:

 

您可能也喜欢:

unittest参数化

我们在写case的时候,如果用例的操作是一样的,就是参数不同,比如说要测一个登陆的接口,要测正常登陆的、黑名单用户登陆的、账号密码错误的等等,在unittest里面就要写多个case来测试。 这样的情况只是调用接口的时候参数不一样而已,再写多个case的话就有点多余了,那怎么办呢,就得把这些参数都写...

more

学习自动化的正确姿势

之前和很多小伙伴聊天,说到自动化的时候都感觉好像很牛逼的样子,感觉公司里做自动化测试的人都好厉害。面试的时候,不管啥公司,公司不管做不做自动化,哪怕就招一个点点点工程师,那也得问问你会不会自动化。然后呢想学自动化,又不知道该学些什么,自学了很久,语言也学了,什么这自动化工具QTP、seleni...

more

python操作数据库

我们在写代码的时候,经常会操作数据库,增删改查,数据库有很多类型,关系型数据库和非关系数据库,这里咱们介绍一下python怎么操作mysql、redis和mongodb。 一、python操作mysql数据库 python3中操作mysql数据需要安装一个第三方模块,pymysql,使...

more

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

  1. 匿名

    嘚嘚嘚

    #1
    回复
  2. 莫愁

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

    #2
    回复

登录

忘记密码 ?

切换登录

注册