Курс 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
- Создание именованных кортежей в Python
- Выражения-генераторы в Python
- Получение срезов итераторов
- Непрерывная проверка в Python
- Работа с SQLite в Python
- Преобразование генераторов в циклы
- Добавление Progressbar в Python
- Оператор in для проверки наличия элемента
- Вставка переменных в шаблоны Flask
- Основные операции с библиотекой Numpy
- Синтаксис переменных цикла в Python
- Генерация UUID в Python
- Управление браузером с Selenium
- Особенности ключей словаря в Python
- Функции высшего порядка в Python
- Фильтрация входных данных в Python
- Получение списка кортежей из словаря
- Копирование объектов в Python
- Расширение операции побитового «и» в Python
- Удаление эмодзи с помощью pandas
- Работа с JSON в Python
- Оператор Walrus: правильное использование
- Автоматизация скриптов на AWS Lightsail.
- Работа с библиотекой requests
- Удаление дубликатов в pandas
- Удаление символа из строки
- Применение функции map() в Python
- Регистрация на курсы SF Education
- Метод ifloordiv для пользовательских классов
- Очистка строки в Python
- Счетчик ссылок в Python
- Очистка вывода в Python
- Форматирование строк в Python
- Создание директории в Python
- F-строки в Python 3.8
- Вложенные функции в Python
- Python Метод sleep() времени
- Генераторы списков
- Разность множеств
- Проверка строки на палиндром
- Работа с асинхронными задачами в Python
- Переменная Шредингера
- Множественные конструкторы в Python
- Библиотека funcy: удобные утилиты
- Разделение строк методом split()















