-
生成器(Generators):生成器是一种特殊类型的迭代器,允许你按需生成值,而不是一次性生成所有值。它们使用
yield
关键字而不是return
,并在每次迭代时返回一个值。生成器在处理大量数据时非常有用,因为它们可以节省内存。例如:# 使用生成器生成无限序列的前 n 个斐波那契数 def fibonacci(n): a, b = 0, 1 for _ in range(n): yield a a, b = b, a + b # 打印前 10 个斐波那契数 fib_gen = fibonacci(10) for num in fib_gen: print(num) # 输出: 0 1 1 2 3 5 8 13 21 34
-
装饰器(Decorators):装饰器是 Python 中修改函数或类行为的一种高级功能。它们使用
@
符号作为语法糖,允许你在不修改函数或类代码的情况下添加额外的功能。装饰器在日志记录、权限验证、性能优化等方面非常有用。例如:# 使用装饰器测量函数执行时间 import time def timer_decorator(func): def wrapper(*args, **kwargs): start_time = time.time() result = func(*args, **kwargs) end_time = time.time() print(f"{func.__name__} 执行时间: {end_time - start_time} 秒") return result return wrapper @timer_decorator def slow_function(duration): time.sleep(duration) return "完成" slow_function(2) # 输出: slow_function 执行时间: 2.00x 秒(x 表示具体的小数秒)
Python的生成器(Generators)和装饰器(Decorators)
最新推荐文章于 2024-07-15 19:11:16 发布