Я немного заблудился на итераторах 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__()
?