[toc]
python基础十三 装饰器
1.装饰器初识
1.1 开放封闭原则
1.对扩展开放 --> 支持增加新功能
2.对修改源代码是封闭,对调用方式是封闭的
1.2 含义
装饰:在原来的基础上额外添加功能
器:工具
1.3 示例
//版本1 重复代码多
要求:写一段代码,统计代码运行的时间
import time
start_time = time.time()
def aaa():
time.sleep(1)
print("author is aaa")
aaa()
print(time.time() - start_time)
author is aaa
1.0037147998809814
def bbb():
time.sleep(1)
print("author is bbb")
bbb()
print(time.time() - start_time)
author is bbb
2.0039119720458984
//版本2 定义函数 将重复代码放入函数中
import time
def aaa():
time.sleep(1)
print("auther is aaa")
def bbb():
time.sleep(1)
print("auther is bbb")
def run_time(f):
start_time = time.time()
f()
print(time.time() - start_time)
run_time(aaa) #这里括号中写函数aaa或者函数bbb