Курс 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"
- Создание циклической ссылки
- Метод __imod__ для Python
- Получение текущей даты и времени с помощью datetime
- Удаление эмодзи с помощью pandas
- discard() — удаление элемента из множества
- Сумма элементов списка
- Подсчет частоты элементов с Counter
- Комментарии в Python
- Библиотека wikipedia для Python
- Добавление элементов в список
- Python OrderedDict и fromkeys() — работа с словарями
- Создание OrderedDict
- Проверка ввода с помощью isdigit
- Получение локальных переменных в Python
- Генераторные выражения и islice.
- Декораторы в Python
- Flask: создание веб-приложений
- Объединение строк с помощью метода join
- Работа с исключениями в Python
- Объединение словарей в Python
- Типы возвращаемых значений в Python
- ChainMap.new_child() — добавление нового словаря
- Оценка точности модели
- Ошибка NotImplemented в Python
- Функция pow() — возвести число в степень
- Удаление файлов и папок в Python
- Генераторы в Python
- Участие в сообществе @selectel
- Капитализация строк
- Сохранение Unicode в JSON
- Преобразование Excel в PDF с Spire.XLS
- Тестирование времени с Freezegun
- Метод округления чисел
- Модуль inspect
- Python Метод Union Множеств
- Установка и использование Telegram API в Python
- Синхронизация потоков с time.sleep()
- Namedtuple в Python
- Тестирование функции сложения
- Курсы Яндекс Практикум
- Логические значения в Python
- Многопоточность в Python
- Обратное распространение ошибки















