Курс 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"
- Переопределение метода __floordiv__
- Метаклассы в Python
- Порядок операций в Python
- Прокачанный трейсинг ошибок
- Переменные класса и экземпляра
- Оператор == в Python
- Итерация по итерируемым объектам
- Функции all и any в Python
- Моржовый оператор в Python 3.8
- Обработка ошибки IndexError
- Модуль math: основные функции
- Метод add для класса Vector
- Логический оператор «and» в Python
- Оператор объединения словарей
- Тестирование времени с Freezegun
- Добавление вложенных списков
- Регистрация на хакатоне
- Работа с IP-адресами в Python
- UserList в Python: Описание и примеры использования
- Применение функции к элементам списка
- Список методов и атрибутов
- Приоритет операций в Python
- Переименование файлов в Python
- Вычисление натурального логарифма в NumPy
- Работа с модулем Calendar
- Python: Фильтрация списков с помощью filter()
- Метод get() для словарей
- Работа с YAML в Python
- Запуск Python из интерпретатора
- Оператор умножения для вектора
- Замена текста с re.sub()
- Проверка ввода с помощью isdigit
- Работа с массивами в Python
- Функция rsplit() в Python
- Генераторы в Python
- Участие в сообществе @selectel
- Исправление ошибки NameError
- Установка Git и AWS CLI
- Преобразование кортежа в словарь.
- Создание новых списков через list comprehensions
- Комплексные числа в Python
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Использование super() в Python
- Выборка чисел
- Вывод символов строки в Python
- Проверка существования переменной с оператором :=
- Списки: объединение, изменение















