原则:开放封闭原则
装饰器:在不改变原函数调用的情况下,对函数前后进行修改
装饰器的本质:闭包函数
def wrapper(f):
def inner(f):
print("在装饰之前做的事")
ret=f(*arg,**karg)
print("在装饰之后做的事")
return rets
return inner
def holiday():
print("放假%s天"%好开心)
ret=holiday(3)
print(ret)
多个函数共同调用一个装成器,三层装饰器
import time
Flag=Ture
Flag=False
def Flage_outer(flag):#用于判断
def outer(f):
def inner(*args):
if flag=Ture:
star=time.time()
ret=f(*args)
end=time.time()
return ret
else:
ret=f(*args)
return ret
return inter
return outer
def holiday(day):
time.sleep(1)#函数休息一秒再执行
print("放假%s天"%day)
return "好开心"
def My_holiday(day):
print("你今天真好看"):
@Flage_outer(Flag)
#outer=Flage_outer(flag)
#My_holiday=outer(holiday)
ret=holiday(3)
print(ret)