1、装饰器
- Python装饰器(Decorator)是一个修改其他函数或类的行为的函数。它接受一个函数作为参数,并返回一个新的函数。装饰器本质上是一个函数,它让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。
2、实现
2.1、简单理解
- 本质上讲,装饰器就是通过将原来函数作为参数进行传递,不改变原有功能的情况下,增加了一些新功能。
def square(x):
return x*x
def print_running(f, x):
print(f'{
f.__name__} 被调用')
return f(x)
result = print_running(square, 2)
result
2.2、进阶
- 将上述print_running做更改,将原函数打包。
def square(x):
return x*x
def print_running(func):
# 将传入的函数打包,增加被调用的打印信息
def wrapper(*args, **kwargs):
print(