3-1 如何实现可迭代对象和迭代器对象(1)

2016-11-07  本文已影响0人  lupinwu
Paste_Image.png

for循环的背后:确保in后边为可迭代对象


Paste_Image.png

可迭代对象可以由内置函数iter得到一个迭代器对象
注意:可迭代和迭代器对象概念区别,不要混淆


Paste_Image.png

由可迭代得到迭代器,而数字不是可迭代对象,所以抛出异常


Paste_Image.png

可迭代对象接口:

判断可迭代,查询__方法,内部调用iter()方法,为标准可迭代的接口

Paste_Image.png

对于字符串,如果没有标准可迭代接口,如果存在getitem,做为替代,对象也是可迭代的

Paste_Image.png

迭代器对象接口:

只有next


Paste_Image.png

结论,for循环的工作原理:

for循环语句先调用iter方法,产生迭代器,再一直调用next,直到抛出异常则结束

Paste_Image.png
上一篇 下一篇

猜你喜欢

热点阅读