Курс Python → Генераторы в Python
Генераторы в Python — это специальный тип функций, которые вместо ключевого слова return используют ключевое слово yield. Когда функция с ключевым словом yield вызывается, она возвращает объект-генератор, который можно использовать для итерации по последовательности значений, возвращаемых функцией.
Первый способ создания генератора — это использование генераторных выражений. Генераторное выражение похоже на списковое включение, но вместо квадратных скобок используются круглые скобки. Например, можно создать генератор, который будет возвращать квадраты чисел от 1 до 10 следующим образом:
gen = (x**2 for x in range(1, 11))
for num in gen:
print(num)
Второй способ создания генератора — это создание функции, которая содержит ключевое слово yield. Например, можно создать генератор, который будет возвращать числа Фибоначчи:
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
fib_gen = fibonacci()
for num in fib_gen:
if num > 1000:
break
print(num)
Генераторы в Python могут быть очень полезны для работы с большими объемами данных, так как они позволяют эффективно обрабатывать элементы последовательностей без необходимости хранить все значения в памяти. Использование генераторов помогает сэкономить память и ускорить выполнение программы.
Другие уроки курса "Python"
- Объединение Python и Shell
- Работа с путями в Python
- Вложенные циклы в Python
- Enum в Python
- Перетасовка списков в Python
- Модуль xkcd: добавление юмора в Python
- Оболочка Python
- Операторы присваивания в Python
- Вычисление времени выполнения
- Python enumerate() для работы с индексами
- Метод get для словаря
- Извлечение аудио из видео
- Оптимизация строк в Python
- Модуль Operator в Python
- Итераторы в Python
- Подсчет количества элементов в списке
- Закрытие файла в Python
- Присвоение значений переменным в Python
- Создание именованных кортежей в Python
- Метод matmul для умножения матриц
- Установка виртуального окружения Python
- Основы слова
- Срезы в Python
- Оператор break в Python
- Блок else в обработке исключений
- Работа с очередями в Python
- Упрощение работы с JSON-данными в Python
- Работа с итераторами в Python
- Списки: объединение, изменение
- Избегайте двойного подчеркивания
- Реверс строки и списка в Python.
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Создание коллекций из выражения-генератора
- Измерение времени выполнения кода с использованием time
- Создание Telegram-бота на Python
- Отладка кода
- Определение индекса элемента списка
- Метод __complex__ в Python
- Обработка ошибок ввода данных
- Сериализация объектов в Python
- Генераторы в Python
- Печать месячного календаря
- Потоковый ввод в Python
- Декоратор Ajax required
- Различия символов в Python
- Сортировка списка по индексам
- Список и кортеж в Python
- Логирование с Logzero















