Курс 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"
- Изменяемые и неизменяемые объекты
- Метод count() для списков
- Pretty-printing JSON в Python
- Метод __float__ в Python
- Доступ к локальным переменным
- Операции с комплексными числами
- Возврат значений из генератора
- Pillow: работа с изображениями
- Модуль Antigravity в Python 3
- Структура данных deque в Python
- Метод lt для сортировки объектов
- Экспорт функций в Python
- Область видимости переменных
- Тип CodeType в Python.
- Проверка элемента в множестве.
- Создание словарей и множеств в Python.
- Принципы Zen Python
- Парсинг статей с Newspaper3k
- Извлечение аудио из видео
- Аннотации типов в Python
- Обработка ошибок в Python
- Установка пакета в Python
- Создание графики с черепахой
- Проверка строки на палиндром
- Метод __ilshift__ для битового сдвига влево
- Пропуск строк в файле с itertools
- Оператор == в Python
- Слияние словарей в Python 3.9
- Преобразование символов с помощью map
- Удаление файлов в Python
- Метод get() в Python
- Капитализация строк
- Курсы Яндекс Практикум
- Красивый вывод списка
- Объединение итераторов
- Удаление эмодзи с помощью pandas
- Модуль os в Python: работа с файлами
- Библиотека schedule: планировщик задач
- Синхронизация доступа к ресурсам
- Поиск наиболее частого элемента
- Библиотека wikipedia для Python
- UserList в Python: Описание и примеры использования
- Копирование объектов в Python
- Разделение строки на пары ключ-значение.
- Безопасный доступ к значениям словаря
- Подробная информация о %pinfo
- Рекурсия для обращения строки
- Группы исключений в Python















