python装饰器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python装饰器相关的知识,希望对你有一定的参考价值。
装饰器本质是函数,用于装饰其他函数(就是为其他函数添加附加功能)
原则1:不能修改被装饰函数的源代码
原则2:不能修改被装饰函数的调用方式
##################################################
#实现装饰器知识储备:
#1.函数即“变量”
#2.高阶函数(把一个函数名当作实参传递给另一个函数(在不修改被装饰函数源代码的情况下为其添加功能)或 返回之中包含函数名(不修改函数的调用方式))
#3.嵌套函数
# 高阶函数+嵌套函数 ==> 实现装饰器效果
################################################################
以下代码中,timmer函数装饰test3函数,为test3函数添加统计运行时间功能
1 __author__ = "csy" 2 import time 3 4 def timmer(func): 5 def warpper(*args,**kwargs): 6 start_time=time.time() 7 func() 8 stop_time=time.time() 9 print(‘the func run time is %s‘ %(stop_time-start_time)) 10 return warpper 11 12 @timmer 13 def test3(): 14 time.sleep(3) 15 print(‘in test3‘) 16 17 test3()
以上是关于python装饰器的主要内容,如果未能解决你的问题,请参考以下文章