Курс 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.
- Определение локальных переменных в Python
- Форматирование строк с % в Python
- Определение относительного пути
- Список переменных в Python
- Форматирование объектов с модулем pprint
- Оператор (*) в Python
- Генерация случайных данных в NumPy
- Декоратор Ajax required
- Функция zip() — объединение последовательностей
- Big O оптимизация
- Настройка шрифта и цвета в Tkinter
- Простой калькулятор Python
- Отправка поздравлений по дню рождения
- Получение комбинаций в Python
- inspect в Python: анализ кода
- Операторы сравнения в Python
- Разделение строк в Python
- Измерение времени выполнения кода в Python
- Работа с аргументами командной строки в Python
- Работа с изображениями PIL
- Работа с YAML в Python
- Enum в Python
- Создание графики с черепахой
- Функция reduce() из модуля functools
- Работа с комплексными числами
- Объединение словарей в Python
- Оператор == в Python
- Форматирование строк с f-строками
- Основные методы NumPy
- Множественные конструкторы в Python
- Назначение максимального и минимального значения переменной в Python.
- JSON-esque в Python
- Удаление дубликатов из списка с помощью dict.fromkeys
- Combobox в Tkinter
- Искажение имен в Python
- Изменения в обработке логических значений
- Глобальные переменные в Python
- Создание списка через итерацию
- Функция format() в Python
- Проверка дублей в списке.
- Разделение списка на гнппы
- Преобразование строки в число
- Расширение информации об ошибке в Python
- Numpy: разбиение массивов















