Курс 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"
- Профилирование с cProfile
- Визуализация пропусков данных
- Структура строк в Python
- Python: библиотеки и функции
- Комментарии в Python.
- Распаковка аргументов в Python
- Метод join() для объединения элементов
- Создание списков в Python
- Разработка Telegram-ботов
- Регистрация на TenChat
- Измерение времени выполнения кода
- Замена подстроки
- Поиск email
- Участие в LP стейкинге Waves
- Принципы LSP и ISP в Python
- Контекстный менеджер в Python
- Путь к интерпретатору Python
- Кортеж в Python: создание, доступ, изменение
- Работа с NumPy.linalg
- Flask — веб-фреймворк Python
- Сериализация данных в JSON с помощью json.dumps
- Логические операторы в Python
- Форматирование строк в Python
- Лямбда-функции в Python
- Объединение, распаковка и деструктуризация
- Эффективная конкатенация строк в Python
- Разделение строки на пары ключ-значение.
- Работа с временем в Python
- Запуск асинхронной корутины
- Создание генераторов
- Конвертация коллекций в Python.
- Функция all() в Python
- Работа с массивами в Numpy
- Оператор «is not» в Python
- Получение комбинаций в Python
- Оператор continue в Python
- Хэш-функции в Python
- Добавление цвета в консоли
- Сравнение объектов в Python
- Сериализация объектов в Python
- Типы возвращаемых значений в Python
- Генерация чисел с range()
- Python и Монти Пайтон
- Склеивание строк через метод join()
- Python UserString — создание подклассов строк
- Создание вложенного генератора
- Форматирование объектов с модулем pprint
- Экспорт функций в Python
- Именованные срезы в Python















