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装饰器的主要内容,如果未能解决你的问题,请参考以下文章

[TimLinux] Python 装饰器

python装饰器

python装饰器关键代码

Python装饰器

python之装饰器

python 装饰器