Я немного запутался в итераторах python. Я их иногда использую, но не помню, чтобы сам создавал. Я откуда-то читал, что не помню где, такой код:
class Foo(object):
def __init__(self):
self.something = "initial_value"
def __iter__(self):
return self
def next(self):
# I don't quite remember what was here :S
return self.something
Я думаю, метод __ iter __ ()
должен возвращать итератор, и у этого итератора должен быть следующий метод, верно? Тогда как насчет метода __ next __ ()
? это для прямой итерации по классу без возврата другого итератора с помощью метода __ iter __ ()
?