Курс 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"
- Компиляция регулярных выражений
- Поиск анаграмм с Counter
- Парсинг статей с Newspaper3k
- Объединение списков с использованием itertools.chain
- Обработка исключений в Python
- Логирование с Logzero
- Многоточие в Python
- Обработка исключений в Python
- Расчет времени выполнения программы
- Экспорт функций в Python
- Переворот строки с использованием цикла
- Итераторы в Python
- Преобразование строки в число
- Декодирование байтов в строку
- Построение графиков в Matplotlib
- OrderedDict — упорядоченный словарь
- Метод сравнения объектов в Python
- Асинхронное выполнение задач в Python
- Создание словарей в Python
- Ключевое слово global в Python
- Метод lt для сортировки объектов
- Работа с файлами в Python
- Получение значений из словарей
- Поиск с помощью регулярных выражений
- Аннотации типов в Python
- Декораторы классов
- Обработка StopIteration в Python
- Проекты на Python
- Обратный список чисел
- Вложенные функции в Python
- JMESPath в Python
- Присоединение элементов коллекции
- Выражения-генераторы в Python
- Гибкие функции Python
- Операции с массивами в NumPy
- Создание класса в Python
- Импорт модулей и пакетов в Python
- Фильтрация списков с itertools
- Основы Python за 14 дней
- Сортировка данных с лямбда-функциями
- Создание графиков в терминале
- Magic Commands — улучшение работы с Python
- Множественные конструкторы в Python
- Метод __float__ в Python
- Переопределение метода __lshift__
- Оператор Walrus: правильное использование















