Курс Python → Генераторы в Python
Генераторные функции — это мощный инструмент в Python, который позволяет создавать итераторы с минимальным использованием памяти. Вместо того чтобы создавать список или кортеж сразу со всеми значениями, генераторная функция генерирует значения по мере необходимости. Это особенно полезно, когда у вас есть большой объем данных, которые необходимо обработать поэлементно.
Для создания генераторной функции в Python используется ключевое слово yield. Когда интерпретатор Python встречает оператор yield в функции, он приостанавливает выполнение функции и возвращает значение. При следующем вызове функции выполнение продолжается с того же места, где оно было приостановлено, и продолжается до следующего оператора yield.
def my_generator():
for i in range(5):
yield i
gen = my_generator()
for value in gen:
print(value)
В этом примере функция my_generator является генераторной функцией, которая возвращает числа от 0 до 4. При вызове функции my_generator() создается объект-генератор, который можно использовать в цикле for для обхода всех значений, сгенерированных функцией.
Использование генераторных функций особенно полезно в случаях, когда необходимо применить серию фильтров или обработчиков к элементам списка. Вместо того чтобы создавать промежуточные списки с отфильтрованными значениями, можно использовать генераторы для ленивой обработки данных, что позволяет сэкономить память и улучшить производительность.
Другие уроки курса "Python"
- Управление виртуальными окружениями в Python
- Моржовый оператор в Python 3.8
- Antigravity модуль
- Транспонирование 2D-массива с помощью zip
- Генераторы в Python
- Списковое включение в Python
- *args и **kwargs в Python
- Работа с файлами в Python
- Генерация фальшивых данных с Faker
- Метод __iand__ для пользовательских классов
- Курсы Яндекс Практикум
- Проверка надежности пароля на Python
- Оператор del в Python
- Декораторы для регистрации функций
- Метод invert для побитового отрицания
- Метод classmethod
- Пересечение списков с использованием множеств
- Сохранение и загрузка модели в PyTorch
- Переопределение метода xor в Python
- Обратный список чисел
- Генераторы данных
- Работа со строками в Python.
- Установка переменной среды в Python
- Фильтрация последовательности
- Инверсия списка и строки в Python
- Обновление множества в Python
- Форматирование вывода с F-строками
- Объединение словарей в Python
- Python Метод sleep() из time
- Добавление элементов в список: append() vs extend()
- Модуль subprocess: запуск внешних команд
- Раздувающийся словарь в Python
- Блок try-except-else
- Структурирование данных с Pydantic
- f-строки в формате строк
- Настройка Cron
- Получение размера объекта с sys.getsizeof()
- Копирование объектов в Python
- Управление User-Agent в Python
- Использование функции enumerate()
- Показ всплывающих окон Tkinter
- Управление браузером с Selenium
- Виртуальные среды в Python
- Настройка логгера Logzero
- Именование переменных в Python
- Объединение коллекций в Python
- Новшества Flask 2.0















