Курс 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
- Создание лямбда-функций
- Функция enumerate() в Python
- Распаковка элементов массива
- Поиск подстроки в строке
- Замер времени выполнения кода
- Работа с deque из collections
- Статическая типизация в Python
- Оператор continue в Python
- Создание списков в Python
- Декораторы в Python
- Функция pow() — возвести число в степень
- Роль object и type в Python
- Подсчет вхождений элементов
- Работа с collections.Counter
- Курсы Яндекс Практикум
- Применение промокода в Много лосося
- Экспорт данных в файл.
- Проверка индексов коллекции
- Декоратор защиты анонимных пользователей
- Применение функций в Python
- Генераторы в Python
- Удаление дубликатов в pandas
- Запуск файлового сервера
- Преобразование Excel в PDF с Spire.XLS
- Частичное применение функций в Python
- Асинхронное программирование с asyncio
- Глубокое копирование объектов
- Поиск индекса элемента
- Анонимные функции в Python
- Тестирование модели в PyTorch
- Описание скриптов в README
- Игра «Камень, ножницы, бумага» — Python
- Генератор списка с условием if
- Анонимные функции Lambda
- Итераторы в Python
- Мощь вложенных функций в Python
- Обновление множества в Python
- Измерение времени выполнения кода
- Отладка в Python
- Ускорение выполнения кода в Python
- Деление в Python
- Удаление символов новой строки в Python.
- Декоратор @override
- Поиск частого элемента















