装饰器
装饰器是在不改变原函数的情况下,给原函数加新功能。
格式
def wrapper(f):
def inner(*args,**kwargs):
'''执行被装饰函数之前的操作'''
ret = f(*args,**kwargs)
"""执行被装饰函数之后的操作"""
return ret
return inner
事列
def timmer(f): # f = login函数名
def inner(*args,**kwargs): # args (2, 3)
start_time = time.time()
ret = f(*args,**kwargs) # login() *(2, 3) 2,3
end_time = time.time()
print('此函数的执行时间%s' % (end_time - start_time))
return ret
return inner
@timmer # login = timmer(login) # inner 此login是新变量
def login(a,b):
print(a,b)
time.sleep(0.3)
print('洗洗更健康...')
return 666
print(login(2,3)) # inner(2,3)