Курс 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"
- Возврат нескольких значений
- Именованные срезы в Python
- Фильтрация последовательности
- Работа с Event() в threading
- Работа с PosixPath() в Python
- Избегайте ошибку FileNotFoundError
- Закрытие файла в Python
- Метод gt в Python
- Функция eval() в Python
- Структура данных deque в Python
- Работа с атрибутом dict
- Проверка вхождения подстроки
- Переопределение метода sub
- Вычисление времени выполнения
- Вакансии в Nebius
- Распаковка элементов последовательности
- TypedDict для kwargs в Python 3.12
- Применение функции к элементам списка
- Поиск уникальных и повторяющихся элементов
- Python enumerate() функции
- Python Translator: создание локальных переводчиков
- Удаление специальных символов
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Enum в Python
- Обработка исключений в Python
- Приближение чисел в Python
- Работа с CSV файлами
- Использование type hints
- Хеши в Python
- Работа с классами данных
- Метод count в Python: почему count(», ») возвращает 4?
- Множественное присваивание в Python
- Установка и использование модуля «howdoi»
- Декораторы в Python
- Переворот списка в Python
- Генерация чисел с range()
- Метод setdefault() в Python
- Работа с областями видимости переменных
- Вывод символов строки в Python
- Замена символов в строке
- Декораторы в Python
- Нахождение хеша для бесконечности и NaN в Python
- Проверка подстроки в строке
- Делегирование в Python















