Курс Python → Генераторные функции в Python
Генераторные функции в Python представляют собой специальный тип функций, которые позволяют создавать итераторы. Они отличаются от обычных функций тем, что вместо ключевого слова return используется ключевое слово yield. Это позволяет функции вернуть значение и временно приостановить свое выполнение, сохраняя состояние.
Одним из основных преимуществ использования генераторных функций является экономия памяти. Вместо того, чтобы сразу создавать и хранить в памяти все элементы списка, генератор создает элементы по мере необходимости. Это особенно полезно, если список содержит большое количество элементов или если требуется выполнить сложные вычисления для каждого элемента.
Для создания генераторной функции в Python необходимо определить функцию с использованием ключевого слова yield. Пример простой генераторной функции, которая генерирует последовательность чисел от 0 до n:
def generate_numbers(n):
for i in range(n):
yield i
После определения генераторной функции, можно использовать ее для создания итератора. Например, чтобы вывести все числа от 0 до 9, можно сделать следующее:
numbers = generate_numbers(10)
for num in numbers:
print(num)
Таким образом, генераторные функции представляют собой мощный инструмент для работы с большими объемами данных и выполнения сложных операций над ними. Использование генераторов позволяет эффективно использовать память и улучшить производительность программы.
Другие уроки курса "Python"
- Модуль subprocess: запуск внешних команд
- Очистка строки в Python
- Python: возвращение нескольких значений
- Удаление пробелов методом translate()
- Метод classmethod
- Работа с изменяемыми списками
- Многострочные строки в Python
- Форматирование строк в Python
- Работа с кортежами
- Работа с CSV файлами
- Списки в Python
- Статическая типизация в Python
- Расчет времени выполнения программы
- Проектирование Singleton с метаклассом
- Оператор «not» в Python
- Извлечение новостей с newspaper3k
- Логирование с Logzero: ротация файла
- Класс Counter() для подсчета элементов
- Очистка списка от False, None, 0, «»
- Python: Splat-оператор и splatty-splat
- Библиотека Rich: форматирование текста
- Методы работы со строками в Python
- Создание списка дат
- Monkey Patching в Python
- Оптимизация методов в Python 3.7
- Виртуальное окружение Python
- Создание виртуальной среды
- Таймер обратного отсчета
- Переопределение метода __rshift__
- Работа с байтовыми строками в Python
- Работа с срезами в Numpy
- Метод hash в Python
- Работа со словарями Python
- Метод join() для объединения элементов
- Выражения-генераторы в Python
- Игра Виселица на Python
- Управление контекстом выполнения кода
- Получение локальных переменных в Python
- Библиотека wikipedia для Python
- Генераторы в Python
- Получение имени функции с помощью inspect
- Подсчет элементов с помощью Counter
- Метод get для словарей
- Управление виртуальными средами в Python
- Оператор умножения для вектора
- Оператор assert в Python
- Множественные конструкторы в Python















