迭代器的优点:
提供了一种可不依赖于索引的取值方式
l=open(‘a.txt’,‘r’,encoding=‘utf-8’)
iter_l=l.iter()
while True:
try:
print(iter_l.next())
except StopIteration:
break
迭代器更加节省内存
item=range(0,999999999999999)
print(item)
迭代器的缺点:
1 取值麻烦,只能一个一个取,只能往后取,
2 并且是一次性的,无法用len获取长度
for循环原理分析:
for 循环称之为迭代器循环,in后跟的必须是可迭代的对象
for循环会执行in后对象的__iter__方法,拿到迭代器对象
然后调用迭代器对象的__next__方法,拿到一个返回值赋值给line,执行一次循环体
周而复始,直到取值完毕,for循环会检测到异常自动结束循环