Python 中的“可迭代”、“迭代器”和“迭代”是什么?它们是如何定义的?
See also: How to build a basic iterator? https://stackoverflow.com/questions/19151
迭代是一个通用术语,表示将某物的每一项逐项取出。每当您使用显式或隐式循环来遍历一组项目时,这就是迭代。
在Python中,iterable and iterator有特定的含义。
An iterable是一个具有__iter__
方法返回一个iterator,或者定义一个__getitem__
方法可以采用从零开始的顺序索引(并引发IndexError
当索引不再有效时)。所以一个iterable是一个你可以获得的对象iterator from.
An iterator是一个具有next
(Python 2)或__next__
(Python 3)方法。
每当你使用for
循环,或map
,或者 Python 中的列表理解等,next
方法被自动调用以获取每个项目iterator,从而经历了迭代.
开始学习的一个好地方是本教程的迭代器部分 https://docs.python.org/3/tutorial/classes.html#iterators和标准类型页面的迭代器类型部分 https://docs.python.org/dev/library/stdtypes.html#iterator-types。了解基础知识后,尝试函数式编程 HOWTO 的迭代器部分 https://docs.python.org/dev/howto/functional.html#iterators.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)