老王回头看课程的时候发现一个和你讲的不太一样地方,range返回不是迭代器是迭代对象

来源:3-2 python2和3差异常考题

赵佳子彧

2019-09-02

http://img1.sycdn.imooc.com/szimg/5d6c73b609ec115610410494.jpg

http://img.mukewang.com/szimg/5d6c73b6092825ae08160230.jpg

 发现range不是返回迭代器,是迭代对象。

 如果只有__iter__()函数则是可迭代的,如果__iter__()和__next__()函数都有则是迭代器

 可迭代对象不一定是迭代器,迭代器一定是可迭代对象。


写回答

1回答

PegasusWang

2019-10-17

是的,感谢指出,这里描述的确实有问题。python3 可以用 typing 验证。(我的python是3.7.4)

//img.mukewang.com/szimg/5da84dce0945b81704380159.jpg

1
0

Python工程师面试宝典 一线大厂资深面试官亲授

Python工程师面试必看,资深面试官亲授,倍增面试成功率

1035 学习 · 102 问题

查看课程