Курс Python → Генераторы в Python
Генераторы (generators) — это мощный инструмент в Python, который позволяет создавать итераторы, способные генерировать значения на лету. Они позволяют экономить память, так как не требуется хранить все значения в памяти сразу. Генераторы могут быть особенно полезны, когда нужно обработать большой объем данных или когда требуется выполнять итерацию только один раз.
Пример использования генератора в Python:
def my_generator(n):
for i in range(n):
yield i ** 2
squares = my_generator(5)
for square in squares:
print(square)
В данном примере мы создаем генератор my_generator, который возвращает квадраты чисел от 0 до n-1. Функция yield используется для возврата следующего элемента генератора, при этом сохраняется состояние функции. Это позволяет продолжить выполнение функции с того же места, где она была приостановлена.
После создания генератора мы используем цикл for для итерации по элементам генератора squares. При каждой итерации получаем следующее значение из генератора, что позволяет нам получить квадраты чисел от 0 до 4. После прохождения всех элементов генератора итерация завершается.
Использование генераторов в Python позволяет сделать код более эффективным и понятным. Они позволяют легко создавать итераторы для обработки данных, особенно в случаях, когда требуется работать с большими объемами данных или когда нужно выполнить итерацию только один раз.
Другие уроки курса "Python"
- Вызов внешних программ в Python с помощью sh
- Проверка существования переменной с оператором :=
- Создание словаря и множества
- Работа с getopt
- Возврат нескольких значений
- Progress с библиотекой tqdm
- Ускоренный импорт библиотек
- Генераторные выражения и islice.
- Python enumerate() использование
- Поиск шаблона в начале строки
- Списки: объединение, изменение
- Метод rmatmul для обратного матричного умножения
- Переопределение оператора % для объектов
- Управление виртуальными окружениями в Python
- Работа с итераторами в Python
- Библиотека Rich: форматирование текста
- Проблема с изменяемыми аргументами
- Функции all и any в Python
- Преобразование регистра символов
- Переопределение метода __lshift__
- Оператор in в Python
- Работа с путями в Python
- Установка и использование Telegram API в Python
- Поиск повторов в списке
- Метод join() для объединения элементов строки
- Реверс строки в Python
- Условное добавление элементов в список
- Получение списка файлов в директории с использованием os
- Создание словаря с значением по умолчанию
- Работа с файлами в Python
- Перезапуск ячейки в Jupyter Notebook с dostoevsky
- Объединение списков в Python
- Работа с кортежами в Python
- Работа с множествами в Python
- TypedDict для kwargs в Python 3.12
- Пересечение списков с использованием множеств
- Скрытие вывода данных
- Генераторные функции в Python
- Python reversed() функция
- Проверка элементов списка условием
- Оператор деления для класса Rational
- Округление чисел с помощью round
- Замена текста в Python
- Непрерывная проверка в Python
- Ограничение ресурсов в Python
- Передача параметров в Python
- Измерение времени выполнения кода















