Python 以其简洁性和灵活性著称,但其真正威力隐藏在丰富的高级特性中。这些特性不仅能简化代码逻辑,还能显著提升程序的性能和可维护性。本文将深入解析 Python 3 的核心高级特性,涵盖生成器、装饰器、元类、异步编程等,并通过实际代码示例揭示其应用场景。
一、迭代器与生成器:高效处理数据流
1. 迭代器协议
-
iter 和 next 方法: 自定义迭代器需实现这两个方法。
class CountUp: def __init__(self, limit): self.limit = limit self.current = 0 def __iter__(self): return self def __next__(self): if self.current < self.limit: self.current += 1 return self.current else: raise StopIteration for num in CountUp(3): print(num) # 输出 1, 2, 3
2. 生成器与 yield
-
惰性计算: 生成器逐个生成值,节省内存。
def fibonacci(n): a, b = 0, 1 for _ in range(n): yield a a, b = b, a + b for num in fibonacci(5): print(num) # 0, 1, 1, 2, 3
-
生成器表达式: 类似列表推导,但返回生成器。
squares = (x**2 for x in range(10)) print(sum(squares)) # 285
二、装饰器进阶:动态扩展功能
1. 带参数的装饰器
def repeat(times):
def decorator(func):
def wrapper(*args, **kwargs):
for _ in