Курс Python → Генераторы в Python
Генератор в Python представляет собой специальный тип итератора, который отличается от обычных итераторов тем, что использует ленивые вычисления. Это означает, что значения генерируются только в момент обращения к ним, а не заранее. Такой подход позволяет экономить память и улучшить производительность программы.
Классическая концепция генераторов в информатике была заимствована из языка Haskell и стала популярной во многих других языках программирования, включая Python. Основная идея генераторов заключается в том, что они следуют принципу «вызов-по-необходимости», то есть значения генерируются только при необходимости и не занимают лишнюю память.
Использование генераторов в Python позволяет создавать эффективные итерируемые объекты, которые обрабатывают данные по мере необходимости. Вместо того чтобы сразу вычислять и сохранять все значения, генератор «генерирует» их по мере выполнения итераций. Это особенно полезно при работе с большими объемами данных или при необходимости оптимизировать использование памяти.
def square_numbers(n):
for i in range(n):
yield i ** 2
# Пример использования генератора
numbers = square_numbers(5)
for num in numbers:
print(num)
В приведенном примере показано создание генератора, который генерирует квадраты чисел от 0 до n. При обращении к генератору значение не вычисляется заранее, а генерируется только при выполнении итерации. Это позволяет эффективно использовать память и улучшить производительность программы.
Другие уроки курса "Python"
- Игра «Виселица» на Python
- Управление мышью и клавиатурой с Pyautogui
- Вставка переменных в шаблоны Flask
- Работа со строками в Python.
- Методы работы со строками в Python
- Функция reduce() в Python
- Проверка типа данных
- Необязательные аргументы в Python
- Декораторы в Python
- Порядок операций в Python
- Вычисление фазы комплексного числа
- Объединение списков с использованием itertools.chain
- Игра «Угадывание чисел»
- Обрезка изображения с Pillow
- Преобразование вложенного списка
- Импорт объектов из модулей
- Библиотека schedule: планировщик задач
- Bootle — простой веб-фреймворк
- Поиск кода
- Проектирование Singleton с метаклассом
- Работа с zip()
- Работа с кортежами в Python
- Метод radd для пользовательских чисел
- Оператор in в Python
- Создание функций с произвольным количеством аргументов
- Создание спинбокса в tkinter
- Метод split() в Python
- Функция zip() в Python
- Курсы Яндекс Практикум
- Оператор объединения словарей
- Разделение функций на этапы
- Метод __getitem__ в Python
- Работа с набором данных CIFAR10 в PyTorch
- Переменные в Python
- Конкатенация строк в Python
- Экспорт данных с помощью writefile
- Операторы объединения в Python 3.9
- Нахождение максимального значения и его индекса в списке
- Использование функции enumerate()
- Использование эмодзи в Python
- Декораторы в Python
- Счетчик в Python: most_common()
- Передача словаря через **kwargs
- Глобальные переменные в Python
- Переопределение оператора % для объектов















