这期内容当中小编将会给大家带来有关如何在Python中应用装饰器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
1。运行业务函数<代码>有趣()代码>同时打印运行花费的时间
import 时间 def 12月(有趣的): 时间=start 才能;time.time () 有趣的才能() 最终获得才能=,time.time () a =,才能最终获得成功,开始 ,print def myfun (): print 才能;& # 39;run myfunction # 39; 12月(myfun)
运行结果
(virt2) root@ubuntu:/home/z # python z。py myfunction
引用>
运行0.00108599662781
但是每次运行myfun都要调用12月、下面作下变动解决这个问题
2。
import 时间 def 12月(有趣的): def 才能包装(): ,,,start =, time.time () ,,,有趣的() ,,,最终获得=,time.time () ,,,a =,最终获得成功,开始 ,,print return 才能包装 def myfun (): print 才能;& # 39;run myfunction # 39; myfun=12月(myfun) myfun ()运行结果:
(virt2) root@ubuntu:/home/z # python z。py myfunction
引用>
运行0.00122618675232
这个装饰器12月就实现了,并且不影响函数myfun功能
3。装饰器@符
import 时间 def 12月(有趣的): def 才能包装(): ,,,start =, time.time () ,,,有趣的() ,,,最终获得=,time.time () ,,,a =,最终获得成功,开始 ,,print return 才能包装 @dec def myfun (): print 才能;& # 39;run myfunction # 39; myfun ()结果
(virt2) root@ubuntu:/home/z # python z。myfunction py
引用>
运行0.000470876693726
使用了@后,就不用给myfun重新赋值了
<代码> @dec> 代码就相当于<代码> myfun=12月(myfun) 代码>
例子:
def 水平(leveel): def 才能调试(函数): ,,,def 包装器(* args,, * * kwargs): ,,,,,印刷(“(调试):enter {} ()“.format (func.__name__) leveel) ,,,,,return func (* args,, * * kwargs) ,,,return 包装 return 才能调试 @level (leveel=& # 39; debuging& # 39;) def (东西)说: print 才能;(“hello  {} !“.format(东西)) 说(123)输出:
(& # 39;(调试):进入说()& # 39;,& # 39;debuging& # 39;) 123年
引用>
你好!& # 39; & # 39; & # 39; class 日志(对象): def 才能;__init__(自我,,函数): ,,,self.func =函数 def 才能;__call__(自我,,* args,, * * kwargs): ,,,print (“(调试):enter function {func} ()“.format ( ,,,,,func=self.func.__name__)) ,,,return self.func (* args,, * * kwargs) @logging def (东西)说: print 才能;(“say  {} !“.format(东西)) & # 39;& # 39;& # 39; class 日志(对象): def 才能;__init__(自我,,水平=& # 39;信息# 39;): ,,,self.level =,水平 def 才能;__call__(自我,,func):, #,接受函数 ,,,def 包装器(* args,, * * kwargs): ,,,,,print (“[{水平}]:,enter function {func} ()“.format ( ,,,,,,,=self.level水平, ,,,,,,,func=func.__name__)) ,,,,,func (* args,, * * kwargs) ,,,return wrapper #返回函数 @logging(水平=& # 39;信息# 39;) def (东西)说: print 才能;(“say  {} !“.format(东西)) 说(123)输出:
[信息]:输入函数()
引用>
说123 !python有哪些常用库
python常用的库:1. requesuts; 2. scrapy; 3.枕头;4.扭曲;5. numpy; 6. matplotlib; 7. pygama; 8。ipyhton等。
上述就是小编为大家分享的如何在Python中应用装饰器了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
如何在Python中应用装饰器