1,time模块
import time print(time.sleep())#让程序在执行到这个位置到时候停一会 print(‘哈哈哈‘)
获取当前时间
import time time.time()#获取当前时间
一个函数的执行时间:
def func(): start =time.time() print(‘啊哈哈哈哈哈‘) time.sleep(0.01) end =time.time() print(end-start) func()
装饰器
import time def func(): time.sleep(0.01) print(‘老板好‘) def timmer(f):#装饰器函数 def inner(): start=time.time() f()#被装饰的函数 end =time.time() print(end-start) return inner func =timmer(func) func()
装饰器的作用
#不想修改函数的调用方式,但是还想在原来的函数前后添加功能
#timmer就是一个装饰器函数,只是对一个函数有一些装饰作用。
开放封闭原则
#开放:对拓展是开放的
#封闭:对修改是封闭的
语法糖
import time print(time.time()) # 获取当前时间 time.sleep(10) #让程序在执行到这个位置的时候停一会儿 def timmer(f): #装饰器函数 def inner(): start = time.time() ret = f() #被装饰的函数 end = time.time() print(end - start) return ret return inner @timmer #语法糖 @装饰器函数名# func = timmer(func) def func(): #被装饰的函数 time.sleep(0.01) print(‘老板好同事好大家好‘) return ‘新年好‘ ret = func() #inner() print(ret)
装饰带参数函数的装饰器
def timmer(f): #装饰器函数 def inner(*args,**kwargs): start = time.time() ret = f(*args,**kwargs) #f(1,2) #被装饰的函数 end = time.time() print(end - start) return ret return inner @timmer #语法糖 @装饰器函数名 def func(a,b): #被装饰的函数 time.sleep(0.01) print(‘老板好同事好大家好‘,a,b) return ‘新年好‘ ret = func(1) #inner() print(ret)
装饰器函数格式:
def wrapper(f): #装饰器函数,f是被装饰的函数 def inner(*args,**kwargs): ‘‘‘在被装饰函数之前要做的事‘‘‘ ret = f(*args,**kwargs) #被装饰的函数 ‘‘‘在被装饰函数之后要做的事‘‘‘ return ret return inner @wrapper #语法糖 @装饰器函数名 def func(a,b): #被装饰的函数 time.sleep(0.01) print(‘老板好同事好大家好‘,a,b) return ‘新年好‘