Курс 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"
- Переопределение метода __lshift__
- Управление User-Agent в Python
- Работа с библиотекой xkcd
- Работа с необработанными строками
- Переворот последовательности
- Преобразование чисел в слова
- Проверка на истинность объектов в Python
- Очистка строки в Python
- Метод ior для битовых операций
- Сортировка с помощью key
- Логические значения в Python
- Ограничение итераций в Python
- Повторение элементов в Python
- Хранение данных с помощью dataclasses
- Поиск самого длинного слова в списке с использованием max()
- Безопасный доступ к значениям словаря
- Блок else в Python
- Создание итератора
- Создание списка дат
- Генераторы в Python
- Декораторы в Python
- Освобождение памяти в Python
- Разбиение текста в Python
- Ускорение кода с помощью векторизации
- Реверс строки и списка в Python.
- Установка и использование emoji
- Python OrderedDict и fromkeys() — работа с словарями
- Заказ карты Тинькофф Black
- Работа с атрибутом dict
- Создание вложенного генератора
- Разделение строк в Python
- Установка User-Agent в Python
- Игра «Камень, ножницы, бумага» — Python
- Преобразование кортежа в словарь.
- Генераторы в Python
- Фильтрация списка от «ложных» значений
- Метод setdefault() в Python
- Конкатенация строк с методом join()
- Ошибка NotImplemented в Python
- Генерация QR-кодов с библиотекой qrcode
- Курс Data Scientist в медицине
- Структура данных словарь в Python
- Запуск асинхронной корутины
- Цикл for с enumerate() в Python
- Функция divmod() в Python
- Подписка на каналы разработчиков
- Копирование и вставка текста в Python















