可迭代对象,有__iter__方法
迭代器(iterator)实现__next__方法和__iter__方法,每次按顺序返回一个值
直接使用for循环打印range(1,3)
for i in range(1,3): print('这是通过for循环打印出来的i值:'+str(i))
使用分解代码模拟for循环打印range(1,3)
x = range(1, 3) # 用range函数创建一个整数列表,可迭代对象 iterator = x.__iter__() # 对列表使用__iter__迭代方法,赋值给变量iterator i = iterator.__next__() # 对iterator使用__next__方法,赋值给变量i print(i) # 1 i = iterator.__next__() # 不断调用迭代器的__next__方法,每次都会按顺序返回一个列表内的值 print(i) # 2 i = iterator.__next__() # StopIteration 迭代结束 在for循环中该异常会被Python自动处理,不会暴露出来
标签:__,.__,迭代,iterator,next,工作,range,循环,原理 From: https://www.cnblogs.com/sangern/p/17491590.html