Курс Python → Генераторы в Python
Генераторы (generators) в Python — это специальный тип функций, которые позволяют создавать итерируемые объекты без необходимости хранить все значения в памяти. Вместо этого значения вычисляются по мере необходимости. Генераторы особенно полезны при работе с большими объемами данных или при работе с бесконечными последовательностями.
Для создания генератора в Python используется ключевое слово yield вместо return. Когда функция с генератором вызывается, она не выполняется полностью, а возвращает объект-генератор, который можно использовать для итерации. Каждый раз, когда вызывается метод next() или используется цикл for, функция продолжает выполнение с того момента, где был вызван yield, и возвращает значение.
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
fib = fibonacci()
for i, num in enumerate(fib):
if i == 10:
break
print(num)
В приведенном выше примере определен генератор fibonacci, который возвращает бесконечную последовательность чисел Фибоначчи. При каждом вызове метода next() или итерации циклом for, генератор возвращает следующее число Фибоначчи. Используя цикл for и функцию enumerate, мы можем перебрать первые 10 чисел Фибоначчи из генератора.
Использование генераторов в Python помогает экономить память и увеличивает производительность программы, особенно при работе с большими объемами данных. Генераторы также удобны при работе с потоками данных или при необходимости создания бесконечных последовательностей, таких как генерация случайных чисел или обход файлов.
Другие уроки курса "Python"
- Применение функции к элементам списка
- Блок else в циклах.
- Поиск уникальных элементов строкой в Python
- Слияние словарей в Python 3.9
- Обработка ошибок в Python
- Удаление дубликатов из списка
- Разделение строки с регулярными выражениями
- Подсчет элементов в списке с Counter
- Метод join() для объединения элементов строки
- Модуль inspect: получение информации о объектах
- Метод join() для объединения элементов в строку.
- Открытие и редактирование скриптов Python
- Получение пути к текущему скрипту с помощью os
- Работа с итераторами в Python
- Работа с комбинациями в Python.
- Работа с NumPy
- Сортировка в Python
- Методы __repr__ и __str__ в Python
- JMESPath в Python
- Добавление элементов в список: append() vs extend()
- Solidity для DeFi Ethereum
- Проверка существования переменной с оператором :=
- Разделение строки с помощью re.split()
- Непрерывная проверка в Python
- Настройка вывода NumPy
- Избегайте ошибку FileNotFoundError
- Работа со строками в Python
- Таймер обратного отсчета
- Применение функции к списку
- Измерение времени выполнения кода
- Изменение элемента списка
- Работа с defaultdictами в Python
- Поиск с библиотекой Google
- Принципы программирования
- Основы Python за 14 дней
- Отладчик pdb: начало работы
- Работа с PosixPath() в Python
- Настройка Cron
- Создание списка дат
- Генераторы и сеты в Python
- Расчет времени выполнения программы
- Объединение словарей в Python
- Создание класса очереди
- Изменение IP-адреса в Python
- Удаление файлов с shutil.os.remove()
- Экспорт функций в Python
- Функции range() в Python
- Метод pos в Python
- Уникальность ключей в словаре















