Курс 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"
- ChainMap.new_child() — добавление нового словаря
- Разбиение текста в Python
- Использование type hints
- Получение списка файлов в директории с использованием os
- Генераторы данных
- Регистрация на курсы SF Education
- Работа с collections в Python
- Настройка вывода в Numpy
- Python Ellipsis использование
- Закрытие файла в Python
- HTTP-запросы с библиотекой Requests
- Счетчик в Python: most_common()
- Переменная с нижним подчеркиванием
- Справка по импортированным модулям
- Вызов функций по строке в Python.
- Группировка элементов Python
- Методы сравнения множеств
- Генераторы по генератору
- Отладка утечек памяти в Python
- Функция __init__ в Python
- Установка и использование pyshorteners
- Работа с изменяемыми списками
- Преобразование типов данных в set comprehension
- Открытие, чтение и закрытие файла
- Вакансии в Nebius
- Методы shutil для работы с файлами
- Обработка исключений в Python
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Отслеживание прогресса с tqdm
- Поиск индексов в списке
- Функция count() в Python
- Python: библиотеки и функции
- Работа с PosixPath() в Python
- Проверка версии Python
- Оператор is в Python
- Оптимизация методов в Python 3.7
- Измерение времени выполнения кода
- Генерация ключей RSA
- Управление сессиями в Python
- Особенности запятых в Python
- Измерение времени выполнения кода
- Управление ресурсами в Python
- Тестирование с responses
- Метод difference_update() — разность множеств















