Python装饰器详解:实例分析与使用场景

在Python中,装饰器是一种强大的语法特性,允许在不修改原始代码的情况下,动态地修改或增强函数的行为。本文将通过两个实际的例子,分别介绍了计时装饰器和缓存装饰器,并深入探讨了它们的实现原理和使用场景。

1. 计时装饰器

import time

def timing_decorator(func):
    def wrapper(*args, **kwargs):
        start_time = time.time()
        result = func(*args, **kwargs)
        end_time = time.time()
        elapsed_time = end_time - start_time
        print(f"{func.__name__} 执行时间: {elapsed_time} 秒")
        return result

    return wrapper

@timing_decorator
def my_function():
    # 模拟一个耗时的操作
    time.sleep(2)
    print("函数执行完成")

my_function()

上述代码展示了一个简单的计时装饰器。通过使用@timing_decorator语法糖,我们可以轻松地为需要计时的函数添加计时功能,而无需修改原函数的逻辑。在实际开发中,这种装饰器常用于性能优化和代码调优。

2. 缓存装饰器

import time

def memoize_decorator(func):
    cache = {}

    def wrapper(*args, **kwargs):
        key = (args, frozenset(

你可能感兴趣的:(#,搞懂Python,python)