如何在 Python 中使用装饰器?

季成
16分钟前

如何在 Python 中使用装饰器?

装饰器语法:

def decorator_name(function):
    # 代码进行装饰的逻辑
    return function

示例:

def log_decorator(func):
    def wrapper(*args, **kwargs):
        print("Calling function:", func.__name__)
        result = func(*args, **kwargs)
        print("Function returned:", result)
        return result
    return wrapper

@log_decorator
def my_function():
    return "Hello, world!"

print(my_function())

运行结果:

Calling function: my_function
Hello, world!
Function returned: Hello, world!

解释:

  1. log_decorator 是一个装饰器函数,它接受一个函数作为参数。
  2. my_function 被调用时,log_decorator 被调用。
  3. log_decorator 中定义了一个新的函数 wrapper
  4. wrapper 接受 my_function 的所有参数和关键字作为输入,并执行原始函数的逻辑。
  5. wrapper 最后返回原始函数的返回值。
  6. 当我们调用 my_function 时,log_decorator 会被调用,并打印出调用它的信息。
  7. 然后,原始函数的逻辑会执行,并返回结果。

其他功能:

  • 您可以使用装饰器传递参数。
  • 您可以使用装饰器返回一个新的函数。
  • 您可以使用装饰器取消装饰。
相似内容
更多>