装饰器在Python中的应用:理解和创建简单示例

原创 怼烎@ 2025-01-26 05:36 43阅读 0赞

装饰器是Python中一种强大的特性,它允许我们在不改变函数原有行为的前提下,为函数添加额外的功能。

下面通过几个简单的示例来理解装饰器的工作原理:

  1. 定义基本装饰器
  1. def my_decorator(func):
  2. def wrapper():
  3. print("Something is happening before the function is called.")
  4. func()
  5. print("Something is happening after the function is called.")
  6. return wrapper
  7. @my_decorator
  8. def say_hello():
  9. print("Hello!")
  10. say_hello()
  1. 使用类装饰器
  1. class LoggingDecorator:
  2. def __init__(self, func):
  3. self.func = func
  4. self.log_msg = f"Executing function {func.__name__}}"
  5. def __call__(self, *args, **kwargs):
  6. print(self.log_msg)
  7. result = self.func(*args, **kwargs))
  8. print(self.log_msg + " Function returned value: ", result)
  9. return result
  10. @LoggingDecorator
  11. def say_hello(name="World"):
  12. print(f"Hello, {name}!")
  13. say_hello()

在这个例子中,我们定义了一个类LoggingDecorator,它通过继承和重写方法来实现装饰功能。__call__方法使得当我们调用被装饰的函数时,会自动执行装饰器中的逻辑。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,43人围观)

还没有评论,来说两句吧...

相关阅读