1 装饰器的定义及调用
装饰器格式如下:
def decorator(func):
def wrapper():
...
func()
...
return wrapper
装饰器的调用
@装饰器名称
def func():
pass
来看一个例子
# 定义装饰器
def decorator(func):
def wrapper():
func()
print('画眉毛')
return wrapper
# 调用装饰器
@decorator
def face():
print('我是一张脸,我现在素颜')
face()
'''运行结果:
我是一张脸,我现在素颜
画眉毛
'''
2 装饰器的运行流程
# 定义装饰器
def decorator(func):
print('wrapper执行前')
def wrapper():
func()
print(f'func地址:{func}')
print('画眉毛')
print('wrapper执行后')
print(f'wrapper地址:{wrapper}','\n')
return wrapper
# 调用装饰器
@decorator
def face():
print