Курс 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
- Преобразование регистра символов
- Добавление элемента в список.
- Создание коллекций из выражения-генератора
- Функция __init__ в Python
- Работа с функцией next() в Python
- Работа с комплексными числами
- Функции any() и all() в Python
- Генерация случайных чисел в Python
- Преобразование данных в Python
- Метод add для класса Vector
- Избегание циклических зависимостей классов в Python
- Библиотека Emoji: использование смайлов в Python
- PATCH-запрос с библиотекой requests
- Оптимизация поиска в словарях
- Работа с эмодзи в Python
- Поиск шаблона в начале строки
- Генерация случайных данных в NumPy
- Повторение элементов в Python
- Копирование словарей и списков в Python
- Сортировка и разворот списка
- Множественное назначение в Python
- Декораторы в Python
- Библиотека wikipedia для Python
- Оператор walrus в Python
- Преобразование в float
- Оператор «is not» в Python
- Создание объекта timedelta
- Обработка ошибок в Python
- Функция enumerate() — Python
- Работа с комплексными числами
- Оператор объединения словарей
- Получение текущей директории
- Структура строк в Python
- Округление банкира в Python
- Лямбда-функции в Python
- Метод getitem для доступа к элементам последовательности
- Разделение функций на этапы
- Обработка исключений в Python
- Удаление дубликатов с помощью множеств
- Преобразование строк в числа с плавающей запятой
- Подсчет элементов с помощью Counter из collections
- Проверка существования переменной с оператором :=
- Принципы Zen of Python
- Вызов функций по строке в Python.
- Работа с OpenCV
- Отслеживание прогресса с tqdm















