【Python】装饰器
2025-03-24 本文已影响0人
盐果儿
装饰器(Decorator)本质上是一个高阶函数,它在不修改原来函数的前提下,动态地增强/改变函数的功能。装饰器接受函数作为参数,然后返回一个新的函数。
举例:
def decorator(func):
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
print("函数执行后的操作")
return result
return wrapper
@decorator
def say_hello():
print("Hello, World!")
1. @decorator语法等价于say_hello = decorator(say_hello)
2. 现在say_hello变量指向的是wrapper函数,而不是原来的say_hello
3. 当调用say_hello()时,实际调用的是wrapper(),而wrapper()内部再去调用func()(即原say_hello)