目的:增加装饰器可以接收的参数
import time
def log(flag = ""):
def show_time(func):
def wrapper(*x):
start_time = time.time()
func(*x)
end_time = time.time()
print('spend %s' % (end_time - start_time))
nonlocal flag
if flag == "true":
print("打印")
return wrapper
return show_time
@log(flag="true") #相当于@show_time
def foo(*a):
sums = 0
for i in a:
sums += i
print(sums)
time.sleep(3)
#foo = show_time(foo)
foo(1,2,3,4,5,6,7)