Курс 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"
- Шаблоны Flask: условия и циклы
- Запуск файлового сервера
- Приближение чисел в Python
- Обратный список чисел
- Создание матрицы в Python
- Нан-рефлексивность в Python
- Python Enumerate
- Печать в одной строке
- Функции в Python: создание и вызов
- Загрузка постов Instagram
- Уникальные значения из списка
- Сумма элементов списка
- Логирование с Logzero
- Аргумент по умолчанию
- Запрос DELETE с библиотекой requests
- Удаление элементов во время итерации
- Профилирование с Pandas
- Сравнение строк в Python
- Декодирование байтов в строку
- Списки в Python: основы
- Извлечение статей с newspaper3k
- Операции с кортежами
- Печать календаря
- Работа с срезами в Numpy
- Сглаживание списка
- Необязательные аргументы в Python
- Функциональное программирование.
- Транспонирование 2D-массива с помощью zip
- kwargs в Python
- Метод getitem для доступа к элементам последовательности
- Разница между датами
- Итерация по итерируемым объектам
- Модуль math: основные функции
- Работа с CSV файлами в Python
- Разделение функций на этапы
- Работа с argparse
- Поиск индексов подстроки
- Расчет времени выполнения кода
- Избегание изменяемых аргументов
- Метод сравнения объектов в Python
- Основы Python
- Метод get() для словарей
- Очистка данных с Pandas
- Транспонирование матрицы в Python















