Python装饰器
什么是装饰器
- Python中一切皆对象,函数也可以当做参数传递
- 装饰器接受函数当做参数,添加功能后返回一个新函数的函数
- Python中装饰器使用@
import time
def log_time(func):
def log(*args, **kwargs):
begin = time.time()
res = func(*args, **kwargs)
print(time.time()-begin)
return res
return log
# 第一种调用形式
@log_time
def my_time():
time.sleep(1)
my_time()
def my_time_two():
time.sleep(2)
# 第二种调用形式
new_fuc = log_time(my_time_two)
new_fuc()