У меня есть функция, которая дает результаты по мере их загрузки. Для целей этого вопроса, скажем, я даю укус один раз в секунду, но я хочу, чтобы функция удобства обертывала мой генератор:
import time
def GeneratorFunction(max_val):
for i in range(0,5):
time.sleep(1)
yield "String %d"%i
def SmallGenerator():
yield GeneratorFunction(3)
for s in SmallGenerator():
print s
... почему это не так просто напечатать 5 строк, которые я ожидаю? Вместо этого он возвращает функцию генератора:
<generator object GeneratorFunction at 0x020649B8>
Как я могу заставить это привести строки, поскольку нормальная функция генератора будет?