目录

Python高级特性:装饰器与生成器详解

admin 2024年06月14日 1 分钟阅读 2948 次浏览 0 条评论

装饰器和生成器是Python中两个非常重要的高级特性。

装饰器(Decorator)

装饰器本质上是一个函数,它可以在不修改原函数代码的情况下,给函数增加额外的功能。

def timer(func):
    import time
    def wrapper(*args, **kwargs):
        start = time.time()
        result = func(*args, **kwargs)
        print(f'{func.__name__} 执行时间: {time.time()-start:.4f}秒')
        return result
    return wrapper

@timer
def slow_function():
    import time
    time.sleep(1)
    return 'done'

生成器(Generator)

生成器是一种特殊的迭代器,使用yield关键字来暂停和恢复函数的执行。

def fibonacci(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

实际应用场景

装饰器常用于日志记录、权限验证、缓存等场景;生成器常用于流式数据处理、无限序列和协程等场景。

分享:
admin
admin 全栈工程师 / 技术作者

全栈工程师 & DJCMS 创始人。热爱开源技术,专注于Web开发与云计算领域。拥有10年以上的软件开发经验,致力于构建高质量的内容管理系统。

相关文章

评论 (0)

暂无评论,来发表第一条评论吧!

发表评论