定义
1.开放封闭原则,对拓展开放,对修改封闭
2装饰器,装饰器本质可以任意调用
原则:
1.不修改源代码
2,不修改调用方法
目标:添加新功能
实例:
import time import random def timmer(func): def wrapper(): start_tim=time.time() func() end_tim=time.time() print(end_tim-start_tim) return wrapper def index(): time.sleep(random.randrange(1,5)) print('sssssssss') index=timmer(index) index()
装饰器的语法
@timmer #相当于index=timmer(index)
def index():
time.sleep(random.randrange(1,5))
print('sssssssss')
================== 在使用的@必须要跟在index上面
闭包函数:
自带作用域
惰性计算 仅定义 ,后期调用才执行
使用了index__warpped__()可以使用原始功能但是一般不会这么用