Обложка канала

Python - Советы, библиотеки, гайды

10180 @xo_py

Всё для Python программиста :3 Готовый код, советы, лайфхаки, годные библиотеки, уроки и многое другое!

Python - Советы, библиотеки, гайды

4 года назад
Открыть в
Генератор — это функция, которая возвращает объект итератора. Она выглядит как обычная функция, за исключением того, что она содержит выражение yield для создания серии значений, которые можно использовать в цикле for … in или которые можно извлечь по одному с помощью функции next(). Сверху самый простой пример функции генератора. Любая функция содержащая ключевое слово yield, является функцией генератора. Генераторы это отличный способ улучшить производительность кода, и они очень просты в использовании! Когда вызывается функция генератора, то она не возвращает единственное значение, как это делает оператор return. Вместо этого она возвращает объект генератора, который поддерживает протокол итератора. Разница между yield и оператором return заключается в том, что при достижении выхода, состояние выполнения генератора приостанавливается и локальные переменные сохраняются. При следующем вызове метода генератора next() функция возобновит свое выполнение. Подробнее о генераторах вы можете почитать здесь.