Курс 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"
- Работа с timedelta
- Тестирование с unittest
- Разница между датами
- Метод __complex__ в Python
- Модуль antigravity: генерация координат
- Работа с Path в Python
- Работа с геоданными с помощью geopy
- Логические значения в Python
- Работа с timedelta в Python
- Применение функции к каждому элементу списка
- Создание графиков в терминале
- Проверка памяти объекта
- Чтение и запись TOML-конфигов
- Проверка переменных окружения в Python
- Создание задания в Cron
- Разделение строки с помощью split()
- Объединение итераторов
- Перемещение и удаление файлов в Python
- Библиотека wikipedia для Python
- Преобразование вложенного списка
- Псевдонимы в Python
- Метод join() для объединения элементов строки
- Работа с часовыми поясами в Python.
- Конкатенация списков в Python
- Транспонирование 2D-массива с помощью zip
- Создание функций высшего порядка
- Создание файла с проверкой ошибки
- Создание GUI с Tkinter: Entry
- Переименование файлов в Python
- Распаковка аргументов в Python
- Оператор умножения для вектора
- Работа с набором данных CIFAR10 в PyTorch
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Установка и использование pyshorteners
- JSON-esque в Python
- Аннотации типов в Python
- Создание копии итератора
- Функции map() и reduce() в Python
- Встраивание HTML в Jupyter Notebook
- Динамическая типизация в Python
- Переменные класса и экземпляра
- Python groupby() из itertools: работа с повторяющимися элементами
- Перемешивание списка с shuffle()
- Сортировка с параметром key
- Оценка выражений генератора в Python
- Метод setitem в Python















