RSS
菜单
讨论动态发现圈子我关注的我的收藏

Python 迭代器和可迭代对象的区别?

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

可迭代对象(iterable):实现了 __iter__()(返回迭代器)或 __getitem__(旧式)的对象,可用 for 遍历,如 list/dict/str/文件;迭代器(iterator):实现了 __iter__ 和 __next__()(返回下一个元素,耗尽抛 StopIteration)的对象,一次性的。关系:for x in obj 内部调用 iter(obj) 拿迭代器再不断 next()。自定义迭代器:类实现 __iter__(return self)和 __next__。判断:isinstance(x, collections.abc.Iterable/Iterator)。

下载推广海报

圈内讨论推广海报

《Python 迭代器和可迭代对象的区别?》完整推广海报
一起交流

全部回复 0

分享经验,让问题更进一步

讨论,从你的观点开始

还没有回复,欢迎补充经验或分享不同的思路。