python修饰器

修饰器:

简而言知就是修饰一个器,这个器被称之为修饰对象。

这个修饰对象可以是一个函数,一个类...

也就是说这个修饰器是在不改变原来的函数/类的情况下,对函数或者类进行功能的补充。

利用一个嵌套函数,嵌套函数里面的一层写你修饰的功能,并且将要修饰的函数放在里面。最后return你所定义的函数(记住不要加括号,只要返回内存地址即可)

如果需要调用这个修饰方法。那么只需要在你要修饰的函数的前面一行使用@函数#这里的函数是嵌套函数的函数名。

如下案例(这个是修饰没有参数的):

 1 #!usr/bin/env python
 2 #encding:utf-8
 3 #by i3ekr
 4 
 5 import time
 6 def pro(func):
 7     def de():
 8         start_time = time.time()
 9         func()
10         end_time = time.time()
11         print("the fun run thime is %s"%(end_time-start_time))
12     return de
13 
14 @pro
15 def f1():
16     time.sleep(3)
17     print "this is f1..."
18 
19 f1()

 如下案例是修饰有参数的(嵌套函数的第二个函数使用*args,**kwargs,使用函数的也是直接*args,**kwargs):

 1 #!usr/bin/env python
 2 #encding:utf-8
 3 #by i3ekr
 4 
 5 import time
 6 
 7 def pro(func):
 8     def de(*args,**kwargs):
 9         start_time = time.time()
10         func(*args,**kwargs)
11         end_time = time.time()
12         print("the func run time is %s"%(end_time-start_time))
13     return de
14 
15 @pro
16 def f1(name):
17     time.sleep(3)
18     print "start...[%s]"%name
19 
20 
21 
22 f1('aaaaaaa')

 

转载于:https://www.cnblogs.com/nul1/p/8909727.html

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值