Я пытаюсь передать свой собственный объект MyIter()
определяется следующим образом в iter()
функции (с использованием Python 3+)ИТЭР() Функция не принимает пользовательские Iterable объект
class MyIter():
def __iter__(self):
return self
Я не пишу __next__
но просто хочу вернуть итерируемый объект Очевидно, что это не работает. Мое сомнение в том, почему я могу передать что-то вроде строки в функцию iter()
, даже если строки не имеют объекта __next__
, но не мой пользовательский объект.
Например, iter("sample")
возвращает str_iterator
, хотя str
не имеет метода __next__
.
Это очищает его –