iter()函数不接受自定义可迭代对象

时间:2014-09-07 19:24:09

标签: python iterator

我正在尝试将如下定义的自定义对象MyIter()传递到iter()函数中 (使用Python 3 +)

class MyIter():
    def __iter__(self):
        return self

我还没有编写__next__但只是想要获取一个可迭代对象 显然这不起作用。我怀疑的是,为什么我可以将类似字符串的内容传递给iter()函数,即使字符串没有__next__对象而不是我的自定义对象。

例如,即使iter("sample")没有str_iterator方法,str也会返回__next__

1 个答案:

答案 0 :(得分:3)

"123".__iter__()返回实现str_iterator的{​​{1}}对象。