原理很简单,for x in s 中,执行
it = iter(s)
while True:
try:
next(it)
except StopIteration:
break
首先获取s的迭代器,不断迭代
range()函数经常像这样用:
for x in range(3)
range()函数返回一个range类实例,通过该实例可获取迭代器进行迭代
生成器本质上只是一个函数变量
# 验证生成器是先生成还是用的过程中生成
g_nTemp = 0
def get_generator():
yield g_nTemp
yield g_nTemp
list_ge = get_generator()
for x in list_ge:
print(x)
g_nTemp += 1
生成气也经常这样用:
for x in get_generator():
get_generator()获得一个generator类的实例,通过该实例可以获得一个迭代器,因此可以用在for in 语句中。