TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.91K subscribers
Post #3646 1.27K
Генератор — это специальная функция, которая возвращает итератор, с помощью которого можно обойти некоторую последовательность значений.

В крупных программах генераторы могут быть лучше в плане памяти и производительности. Они позволяют функциям избежать выполнения всей работы заранее, что особенно полезно, когда результирующие списки большие или получение каждого значения требует длительных вычислений. Генераторы распределяют время, необходимое для производства серии значений, по всем итерациям цикла.


def gen():
for i in range(10):
X = yield i
print(X)

G = gen()
print(next(G)) # Сначала должен вызываться next(), чтобы запустить генератор


К протоколу генераторных функций добавлен метод next. Он осуществляет переход на следующий элемент в серии результатов, а также снабжает вызывающий код возможностью взаимодействия с генератором для влияния на его работу.

Формально yield теперь имеет форму не оператора, а выражения, которое возвращает
элемент, переданный next.
More from @quiz_python
  1. Sep 30, 2026Развёрнутое пояснение: 1. defaults содержит исходные значения timeout и retries, а env изн…
  2. Sep 30, 2026Post #4904
  3. Sep 29, 2026Развёрнутое пояснение: 1. Создаётся функция load_rate, которая при вызове печатает строку…
  4. Sep 29, 2026Post #4902
  5. Sep 26, 2026Развёрнутое пояснение: 1. При создании класса __slots__ разрешает экземплярам хранить атри…
  6. Sep 26, 2026Post #4900
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →