我发现:
>>> a={'x':42, 'y':3.14, 'z':7}
>>> b=a.__iter__()
>>> b.__dir__()
['__next__', ..., '__iter__', ...]
>>> b
<set_iterator object at 0x7efdd4e5afc0>
迭代器是否总是有__iter__
方法?
根据https://dev59.com/32kw5IYBdhLWcg3wdKMv#9884259 的解释,迭代器也是可迭代的。那么迭代器是否总是拥有__iter__
方法呢?
self
。 - juanpa.arrivillaga__iter__
方法,因此在官方意义上是可迭代的)。没有一个好的单词来表示“非迭代器可迭代对象”,因此一些人只是使用“可迭代对象”来表示,即使这并不准确。我在之前的回答中对这个话题进行了详细阐述。 - Blckknght