Comments 14
Так много слов, когда можно было написать проще:
Генераторы однопроходны и не могут быть переитерированы. Точка.
Конечно, если всё это изначально знать, разъяснения будут казаться глупыми. Но подумайте о тех, кто в этом ещё не разобрался. Вряд ли они смогут понять всю суть по одному предложению.
Мне нужен был генератор, который я вызывал бы поочерёдно, получая
сообщения, которые мне нужно отправлять и обрабатывать ответ от
пользователей
Зачем для этого генератор? Почему не очередь? Например: https://docs.python.org/3/library/collections.html#collections.deque
Однако, как и любое другое средство, их следует использовать с осторожностью.
Я бы сказал для решения задач, для которых он предназначен.
Вот-вот, тут явно очередь напрашивается. Использовать для задачи неподходящую коллекцию, а потом ругаться, что она не так работает - странновато ))
Я старался не создавать полноценные массивы, ведь их может быть очень много и это сказалось бы на нагрузке системы.
Когда-то давно, когда трава была зеленее и все такое, каждому джуну рекомендовали прочитать книжку Fluent Python.
Вам тоже рекомендую :)
Типичный пример того, когда вместо того, чтобы потратить целую минуту прочтения docs.python.org (или в целом ознакомившись с определением паттерна, т.к. понятие генератора исходит из общего программирования, тогда как в самом питоне является лишь её реализацией, так что можно было бы знать это и без знаний питона в целом) потратил всего лишь дофига времени разбираясь на собственном опыте ошибок
Проблема с которой я столкнулся при работе с генераторами