#55. Функция-генератор. Оператор yield | Python для начинающих

YOUTUBE · 01.12.2025 05:04

Ключевые темы и таймкоды

Введение в функции-генераторы

0:00
  • Сергей Балакирев начинает курс по функциям-генераторам.
  • Пример функции-генератора: перебор списка «один, два, три, четыре».
  • Использование оператора `return` приводит к завершению работы функции.

Преобразование функции в генератор

0:57
  • Замена `return` на `yield` превращает функцию в генератор.
  • Функция-генератор возвращает значения через `next`.
  • Оператор `yield` замораживает состояние функции до следующего вызова.

Перебор значений генератора

1:54
  • Генератор можно перебирать через цикл.
  • В режиме отладки видно, как оператор `yield` возвращает значения.
  • Локальные переменные внутри функции-генератора сохраняют своё состояние.

Применение генераторов

3:47
  • Генераторы позволяют реализовать любой алгоритм.
  • Пример вычисления среднего арифметического для последовательностей.
  • Преобразование функции для вычисления средних значений.

Поиск слов в текстовом файле

5:09
  • Открытие файла для чтения.
  • Использование функции-генератора для поиска индексов слов «генератор» в файле.
  • Обработка ошибок при открытии и обработке файла.

Реализация функции-генератора для поиска

6:55
  • Вспомогательная переменная `index` для определения смещения индекса.
  • Вложенный цикл для поиска слова в каждой строке файла.
  • Проверка наличия слова и увеличение индекса на длину строки.

Результат работы функции-генератора

8:52
  • Вывод индексов слов «генератор» в текстовом файле.
  • Преимущества функций-генераторов: простота описания функционала.

Заключение

9:49
  • Подведение итогов занятия.
  • Рекомендация пройти практические задания для закрепления материала.