Курс Python → Генераторы в Python
Генераторные функции (generator functions) — это мощный инструмент в Python, который позволяет создавать итераторы с помощью ключевого слова yield. Когда у вас есть необходимость обработать большой объем данных или выполнить сложные операции с элементами списка, генераторные функции становятся незаменимыми. Они позволяют удобно организовать фильтрацию и обработку элементов списка, не загружая память излишне.
Важным преимуществом использования генераторных функций является их эффективность. Поскольку генераторы работают по требованию (lazy evaluation), они не требуют хранения всех элементов списка в памяти одновременно. Вместо этого элементы обрабатываются по мере необходимости, что позволяет сэкономить ресурсы и улучшить производительность программы.
Для создания генераторной функции в Python необходимо использовать ключевое слово yield. Это ключевое слово позволяет вернуть значение из функции, приостановить ее выполнение и сохранить текущее состояние. При каждом вызове генераторной функции она продолжает выполнение с того места, где была приостановлена, что делает ее итератором.
def my_generator():
for i in range(5):
yield i
gen = my_generator()
for item in gen:
print(item)
В приведенном примере мы создаем генераторную функцию my_generator(), которая возвращает числа от 0 до 4 при каждом вызове. Затем мы создаем объект-генератор и итерируемся по нему, выводя каждый элемент на экран. Таким образом, мы можем эффективно обрабатывать большие объемы данных, не загружая память и повышая производительность программы.
Другие уроки курса "Python"
- Цикл for в Python
- Инверсия списка и строки
- Шаблоны Flask: условия и циклы
- Сохранение и загрузка модели в PyTorch
- Класс UserDict: дополнительная функциональность
- Обработка исключений в Python
- Преобразование чисел в Python
- Изменение логики работы с временем
- Нахождение пересечения множеств
- Генерация чисел с range()
- Метод eq для сравнения объектов
- Тестирование с unittest
- Python и Юникод: работа с цифрами
- F-строки в Python
- Генерация случайных данных в NumPy
- Операторы объединения в Python 3.9
- Pretty-printing JSON в Python
- Просмотр атрибутов и методов класса
- Импорт модулей и пакетов в Python
- Создание Telegram-бота на Python
- Циклы в Python
- Работа с PosixPath() в Python
- Преобразование букв в нижний регистр
- Создание объекта времени
- Создание коллекций из генератора
- Генератор чисел Фибоначчи
- Многострочные строки в Python
- Деление в Python
- Динамические маршруты во Flask
- Проверка переменных окружения в Python
- Создание графики с черепахой
- Структуры данных в Python
- Любовь к Python
- Создание генераторов
- Итерация по коллекции в Python
- Объединение словарей в Python
- Открытие и запись файлов
- Глобальные переменные в Python
- Разница между датами
- Замена текста в Python
- Создание пустых функций и классов в Python
- Особенности запятых в Python
- Удаление символа из строки
- Оператор «and» в Python
- Функция sleep() в Python
- Генераторы списков
- Установка и использование модуля Wikipedia















