如何才能在 Python 中使用装饰器?
装饰器语法:
def decorator_name(function):
# 代码进行装饰的逻辑
return function
使用装饰器:
@decorator_name
def decorated_function(arg1, arg2):
# decorated_function 的逻辑
示例:
def add(x, y):
return x + y
# 定义装饰器
def logging(func):
def wrapper(*args, **kwargs):
print("Calling function:", func.__name__)
result = func(*args, **kwargs)
print("Function:", func.__name__, "returned:", result)
return result
return wrapper
# 使用装饰器
@logging
def my_add(x, y):
return x + y
# 调用 my_add 函数
result = my_add(10, 20)
print(result)
输出:
Calling function: my_add
Function: my_add returned: 30
其他信息:
- 装饰器可以接收函数的多个参数和默认参数。
- 装饰器可以返回一个新的函数,或可以直接执行代码。
- 装饰器可以应用于任何类型的函数。