Python装饰器理解与应用案例

原创 以你之姓@ 2025-02-07 16:33 49阅读 0赞

装饰器是Python语言中的一种特殊语法,它允许我们在不修改已有代码的情况下,给函数增加新的功能。

理解装饰器的几个关键点:

  1. 装饰器本质上是一个接受一个函数作为参数,并返回一个新的函数的高阶函数。
  2. 被装饰的函数称为原函数,新返回的函数是装饰后的函数。
  3. 装饰器的主要作用包括:日志记录、性能测试、权限校验等。

应用案例:

  1. 日志记录:

    1. def log(func):
    2. def wrapper(*args, **kwargs):
    3. print(f"Calling function {func.__name__} ...")
    4. result = func(*args, **kwargs))
    5. print(f"Function {func.__name__}} executed successfully.")
    6. return result
    7. return wrapper

    现在可以给任何函数添加日志记录。

  2. 性能测试:
    ```python
    import time

def timer(func):
def wrapper(args, **kwargs):
start_time = time.time()
result = func(
args, **kwargs))
endtime = time.time()
print(f”Function {func._name
}} executed in {end_time - start_time:.6f} seconds.”)
return result
return wrapper

@timer
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)

print(factorial(5)) # 输出性能测试结果
```
现在可以给任何函数添加性能测试。

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

发表评论

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

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

相关阅读