Python装饰器的深入理解及使用

原创 系统管理员 2025-02-04 08:12 40阅读 0赞

装饰器是 Python 中一个强大的特性,它允许我们在不修改原函数代码的情况下,为其添加新的功能或行为。

基本概念:

  • 装饰器是一个返回函数的对象。
  • 原函数(被装饰对象)通过@装饰器名的方式引用。

使用示例:

  1. 日志记录装饰器
    ```python
    import logging

def logdecorator(func):
def wrapper(args, *kwargs):
logging.info(f”Calling function: {func._name
}”)
return func(args, *kwargs))
return wrapper

@log_decorator
def say_hello(name=”World”):
print(f”Hello, {name}!”)

say_hello() # 输出:[INFO] Calling function: say_hello

  1. 2. **缓存装饰器**:
  2. ```python
  3. from functools import lru_cache
  4. @lru_cache(maxsize=10) # 设置缓存最大容量
  5. def expensive_function(n):
  6. time.sleep(1) # 模拟耗时操作
  7. return n * n
  8. # 计算5的平方,先从缓存中获取结果
  9. result = expensive_function(5)
  10. print(result) # 输出:[INFO] Cache hit. Result: 25

以上例子展示了装饰器的基本用法。装饰器在 Python 中的应用非常广泛,如性能测试、日志记录、权限控制等场景都可以借助装饰器来实现。

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

发表评论

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

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

相关阅读

    相关 深入理解Python装饰

    装饰器是Python语言中的一种高级特性,它允许你修改或增强现有的函数或者类,而无需改变它们的原始代码。 装饰器的基本语法如下: ```python @decorator_