如何才能在 Python 中使用装饰器?

如何才能在 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

其他信息:

  • 装饰器可以接收函数的多个参数和默认参数。
  • 装饰器可以返回一个新的函数,或可以直接执行代码。
  • 装饰器可以应用于任何类型的函数。
相似内容
更多>