Курс Python → Генераторы в Python
Генераторные функции — это мощный инструмент в Python, который позволяет создавать итераторы с минимальным использованием памяти. Вместо того чтобы создавать список или кортеж сразу со всеми значениями, генераторная функция генерирует значения по мере необходимости. Это особенно полезно, когда у вас есть большой объем данных, которые необходимо обработать поэлементно.
Для создания генераторной функции в Python используется ключевое слово yield. Когда интерпретатор Python встречает оператор yield в функции, он приостанавливает выполнение функции и возвращает значение. При следующем вызове функции выполнение продолжается с того же места, где оно было приостановлено, и продолжается до следующего оператора yield.
def my_generator():
for i in range(5):
yield i
gen = my_generator()
for value in gen:
print(value)
В этом примере функция my_generator является генераторной функцией, которая возвращает числа от 0 до 4. При вызове функции my_generator() создается объект-генератор, который можно использовать в цикле for для обхода всех значений, сгенерированных функцией.
Использование генераторных функций особенно полезно в случаях, когда необходимо применить серию фильтров или обработчиков к элементам списка. Вместо того чтобы создавать промежуточные списки с отфильтрованными значениями, можно использовать генераторы для ленивой обработки данных, что позволяет сэкономить память и улучшить производительность.
Другие уроки курса "Python"
- Методы HTTP запросов в Flask
- Генератор бросков кубиков
- Функции высшего порядка в Python
- Метод join() для объединения элементов
- globals и locals
- Генерация UUID в Python
- Игра «Виселица» на Python
- Создание и операции с дробями
- Преобразование многоуровневого словаря
- Flask — веб-фреймворк Python
- Методы __repr__ и __str__ в Python
- Присвоение значений переменным в Python
- Создание новых функций через partial
- Атрибуты массивов в Numpy
- Декораторы в Python
- Проверка вхождения подстроки
- Установка переменной среды в Python
- Преобразование текста в речь с Python
- Создание GUI на Tkinter
- Генераторные функции в Python
- Определение размера папок в Python
- Работа с контекстными менеджерами
- Функции в Python: создание и вызов
- Методы split() и join() — Python строк.
- Создание namedtuple списком полей
- TON Smart Challenge #2: участие и подготовка
- Преобразование числа в список цифр
- Изменяемые и неизменяемые объекты
- Python reversed() vs срез[::-1]
- Форматирование строк в Python
- Работа с итераторами в Python
- Python Метод sleep() времени
- Взаимодействие с sys
- Работа с контекст-менеджером «with»
- Генераторы в Python
- Подсчет частоты элементов с Counter
- Расчет времени выполнения
- Основы Python за 14 дней
- Вычисление разности множеств в Python
- Работа со списками
- Класс-оболочка для словарей
- Импорт с альтернативным именем
- Работа с множествами в Python
- Запуск внешнего кода в Jupyter
- Извлечение аудио из видео
- Python Метод sleep() из time
- Проверка условий: all и any















