С помощью функции генератора, вот как можно реализовать itertools.count
(из документации ):
def count(start=0, step=1):
# count(10) --> 10 11 12 13 14 ...
# count(2.5, 0.5) -> 2.5 3.0 3.5 ...
n = start
while True:
yield n
n += step
Я пытаюсь найти, как подобный итератор мог бы быть реализован безфункция генератора.
class Count:
def __init__(self, start=0, step=1):
self.c = start
self.step = step
def __iter__(self):
return self
def __next__(self):
n = self.c
self.c += self.step
return n
Это реализация?
Конечно, это не имеет никакого практического смысла, смысл просто в том, чтобы получить представление о том, как это достигается с помощью генераторов..