1.import time
a.time.time()
获取到当前的时间,返回值为浮点型
import timeprint(time.time()) #1565422783.6497557
b.time.sleep()
让程序执行到这个位置暂停一会
import timestart = time.time()time.sleep(0.5)print('hello world!')end = time.time()print(end - start) #0.5000286102294922
2.装饰器
开发原则:开放封闭原则
装饰器的作用:在不改变原函数的情况下,在函数的前后添加功能
装饰器的本质:闭包函数
当想要知道一个程序执行的时间
import timestart = time.time()time.sleep(0.5)print('hello world!')end = time.time()print(end - start) #0.5000286102294922
再将里面的功能单独拉出来变成一个函数
import timedef func(): time.sleep(0.5) print('hello world!')def timer(func): start = time.time() func() end = time.time() print(end - start)timer(func) #hello world! #0.5000286102294922
将timer变成一个简单的装饰器
import timedef func(): #被装饰的函数 time.sleep(0.5) print('hello world!')def timer(func): #装饰函数 def inner(): start = time.time() func() end = time.time() print(end - start) return inner #回传inner函数的内存地址get_inner = timer(func) #后者得到的是inner的内存地址再赋值给get_innerget_inner() #hello world! #0.5000286102294922
执行步骤:
开放封闭原则:开放指的是对扩展开放,封闭指的是对修改封闭
语法糖:@装饰器函数名 可以替代下面的写法
装饰带参数函数的装饰器
装饰带有多个参数的函数装饰器
总结:装饰器的模板
import timedef wrapper(f): def inner(*args,**kwargs): #在被装饰函数之前要做的事 res = f(*args,**kwargs) #在被装饰函数之后要做的事 return res return inner@wrapper# func = wrapper(func)def func(): #被装饰的函数 returnret = func()print(ret)