Курс 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"
- Проблема сравнения словарей
- Асинхронное программирование с asyncio
- Пересечение списков с использованием множеств
- Поиск шаблона в начале строки
- Создание вложенного генератора
- Создание графиков в терминале
- Сравнение строк в Python
- Слияние словарей в Python 3.9
- Безопасные SQL-запросы в Python 3.11
- Выключение компьютера с помощью Python
- Работа с NumPy массивами
- Создание обратного итератора
- Метод Enumerate() для списков
- Цикл for в Python
- Повторение элементов в Python
- Декораторы в Python
- Генераторы списков в Python
- Блок else в обработке исключений
- Группировка элементов в словарь
- Функция format() в Python
- Python reversed() vs срез[::-1]
- Распаковка значений в Python
- Оператор assert в Python
- Необязательные аргументы в Python
- Сравнение строк в Python
- Получение атрибутов и методов класса
- Определение индекса элемента списка
- Изменяемые и неизменяемые объекты
- Вставка переменных в шаблоны Flask
- Зарезервированные слова в Python
- Печать в одной строке
- Математические функции в Python
- Изменение элемента списка
- Переопределение метода __and__
- Запуск файлового сервера
- Множества и frozenset
- Работа с пользовательским вводом
- Удаление элемента по индексу в Python
- Сравнение def и lambda функций в Python
- Создание итератора
- Разделение строки с помощью split()
- Генерация случайных чисел в Python
- Использование метода lower()
- Создание задания в Cron
- Хранение данных
- Импорт с альтернативным именем
- Проверка списка: any() и all()















