此原则的基本思想是:
装饰器定义:
在不改变原被装饰的函数的源代码以及调用方式下,为其添加额外的功能。
def wrapper(f):
def inner():
f()
return inner
@wrapper
def func():
print(1)
func()
import time
def wrapper(f):
def inner(*args,**kwargs):
"被装饰前"
start_time = time.time()
f(*args,**kwargs) # func("alex")
print(time.time() - start_time)
"被装饰后"
return inner # 切记不要加括号
@wrapper # func = wrapper(func)
def func(*args,**kwargs):
print(f"这是{args}函数,李业还是不行")
time.sleep(2) #模拟网络延时
@wrapper # foo = wrapper(foo)
def foo(*args,**kwargs):
print(f"这是{args}函数,常鑫穿齐*小短裤")
time.sleep(3) #模拟网络延时
func("alex","sur")
foo("alex","sur")
原文:https://www.cnblogs.com/lifangzheng/p/11234441.html