Python编程:生成器表达式、函数装饰器与类的深入剖析
1. 生成器表达式
1.1 生成器的基本用法
生成器主要用于与 for
语句结合进行循环操作。生成器函数通过调用 return
或抛出 StopIteration
来终止,此时迭代也会停止。需要注意的是,生成器在完成时不能返回值。
示例代码:
from itertools import count
for n in count(100):
print(n)
1.2 生成器表达式的语法
生成器表达式的语法与列表推导式相似,但使用圆括号而非方括号。其语法如下:
(expression for item1 in iterable1
for item2 in iterable2
...
for itemN in iterableN
if condition )
1.3 生成器表达式与列表推导式的区别
列表推导式会实际创建一个包含结果数据的序列,而生成器表达式则创建一个按需生成值的生成器对象,不会立即计算圆括号内的表达式。
示例代码:
a = [1, 2, 3, 4]
b = (10*i for i in a)
print(b)
print(b