Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock
РКН: https://rknn.link/car
Post #2484
5.06K

🌀 Как работает yield в Python?
Когда вы пишете функцию с yield, она превращается в генератор.
Это не просто функция — это объект, который можно итерировать, и при каждой итерации он "просыпается", возвращает значение и снова засыпает.
Пример:
Вывод:
Подробнее тут.
Важно: yield не только возвращает значение, но и сохраняет состояние функции.
Это значит, что переменные не сбрасываются, цикл не начинается с начала — выполнение продолжается с того же места.
Зачем это нужно?
🟠Работать с большими объёмами данных
🟠Писать "ленивый" код, который экономит память
🟠Делать асинхронные пайплайны и обработчики
Крч если хочешь писать код, который не захлёбывается от объёмов — генераторы тебе в помощь 😢
Когда вы пишете функцию с yield, она превращается в генератор.
Это не просто функция — это объект, который можно итерировать, и при каждой итерации он "просыпается", возвращает значение и снова засыпает.
Пример:
def squares():
for i in range(3):
yield i * i
for x in squares():
print(x)
Вывод:
0
1
4
Подробнее тут.
Важно: yield не только возвращает значение, но и сохраняет состояние функции.
Это значит, что переменные не сбрасываются, цикл не начинается с начала — выполнение продолжается с того же места.
Зачем это нужно?
🟠Работать с большими объёмами данных
🟠Писать "ленивый" код, который экономит память
🟠Делать асинхронные пайплайны и обработчики
Крч если хочешь писать код, который не захлёбывается от объёмов — генераторы тебе в помощь 😢
- 👍 17
- ❤ 2



