Курс Python → Генераторы в Python
Генераторы (generators) в Python — это специальный тип функций, которые позволяют создавать итерируемые объекты без необходимости хранить все значения в памяти. Вместо этого значения вычисляются по мере необходимости. Генераторы особенно полезны при работе с большими объемами данных или при работе с бесконечными последовательностями.
Для создания генератора в Python используется ключевое слово yield вместо return. Когда функция с генератором вызывается, она не выполняется полностью, а возвращает объект-генератор, который можно использовать для итерации. Каждый раз, когда вызывается метод next() или используется цикл for, функция продолжает выполнение с того момента, где был вызван yield, и возвращает значение.
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
fib = fibonacci()
for i, num in enumerate(fib):
if i == 10:
break
print(num)
В приведенном выше примере определен генератор fibonacci, который возвращает бесконечную последовательность чисел Фибоначчи. При каждом вызове метода next() или итерации циклом for, генератор возвращает следующее число Фибоначчи. Используя цикл for и функцию enumerate, мы можем перебрать первые 10 чисел Фибоначчи из генератора.
Использование генераторов в Python помогает экономить память и увеличивает производительность программы, особенно при работе с большими объемами данных. Генераторы также удобны при работе с потоками данных или при необходимости создания бесконечных последовательностей, таких как генерация случайных чисел или обход файлов.
Другие уроки курса "Python"
- Наиболее частотные элементы с помощью Counter
- Генератор бросков кубиков
- Оператор (*) в Python
- Оператор «or» в Python
- Создание генераторов в Python
- Установка и использование pyshorteners
- Метод __irshift__ для Python
- Рациональные числа в Python
- Выключение компьютера с помощью Python
- Лямбда-функции в цикле
- Виртуальное окружение Python
- Метод Event.wait() в Python
- Форматирование строк в Python
- Функции классификации комплексных чисел
- Анонимные функции в Python
- Сравнение строк в Python
- Сравнение объектов в Python
- Функции all() и any() в Python
- Преобразование PowerPoint в PDF.
- Метод splitlines() для разделения строк
- Объединение строк с помощью метода join
- Оператор in для проверки наличия элемента
- Функции range() в Python
- Добавление вложенных списков
- Срезы в Python
- Получение имени функции с помощью inspect
- Явный импорт переменных
- Работа с датами в Python
- Частичное совпадение ввода
- Работа с getopt
- Методы classmethod и staticmethod
- Обход дочерних элементов BeautifulSoup
- Генераторы в Python
- Игра «Виселица» на Python
- Перемещение и удаление файлов в Python
- Создание таблиц в Python с PrettyTable
- Итераторы в Python
- Работа с временем в Python
- Сравнение def и lambda в Python
- Эффективная конкатенация строк с использованием join()
- Генерация QR-кодов с библиотекой qrcode
- Названия столбцов в Python таблицах
- Работа с Enum в Python3.
- Настройка нарезки списков















