python中for...in...的内部实现原理

for循环遍历其实就是取出可迭代对象中的迭代器然后对迭代器不断的间隙next()操作,再处理掉最后一次对迭代器next()时抛出的异常.

下面我们使用一个while模拟了for...in...的实现

lists = [i * 2 for i in range(5)]
for temp in lists:
    print(temp, end='')

print('\r\n下面是使用while模拟for...in...的输出')

iterator_ = iter(lists)
while True:
    try:
        print(next(iterator_), end='')
    except StopIteration as ret:
        # print(ret)
        break

输出结果是

02468
下面是使用while模拟for...in...的输出
02468



posted @ 2018-04-20 08:45  fanlei5458  阅读(988)  评论(0编辑  收藏  举报