标签:dex return timer port page logs 添加 com time()
一:开放封闭原则,对扩展是开放的,对修改是封闭的
二:装饰器,装饰器本质可以是任意可调用的对象,被装饰的对象也可以是任意可调用对象
装饰器的功能是:
在不修改被装饰对象源代码以及调用方式的前提下为其添加新功能
原则:
1.不修改源代码
2.不修改调用方法
目标:添加新功能
装饰器的语法:在被装饰对象的正上方的单独一行。@装饰器名字 import time import random #装饰器 def timmer(func):#func=index #func=index def wrapper(): start_time=time.time() func()#index stop_time=time.time() print(‘run time is %s‘ %(stop_time-start_time)) return wrapper #被装饰函数 @timmer #index=timer(index) def index(): time.sleep(random.randrange(1,5)) print(‘welecome to index page‘) @timmer def home(): time.sleep(random.randrange(1, 3)) print(‘welecome to HOME page‘) # index=timmer(index) #index=wrapper # index() #wrapper() @timmer等于这两步 index() home() 可以加多个装饰器,计算顺序是自下而上,自上而下运行 装饰器修订版本 import time import random #装饰器 def timmer(func): def wrapper(*args,**kwargs): start_time=time.time() res=func(*args,**kwargs) stop_time=time.time() print(‘run time is %s‘ %(stop_time-start_time)) return res return wrapper #被装饰函数 @timmer def index(): time.sleep(random.randrange(1,5)) print(‘welecome to index page‘) res1=index() print(res1)
标签:dex return timer port page logs 添加 com time()
原文地址:http://www.cnblogs.com/gpd-Amos/p/7788983.html