Курс 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"
- Big O оптимизация
- Разделение строки в Python
- Метод __call__ в Python
- Распаковка аргументов в Python
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Python Calendar Usage
- Оператор Walrus в Python 3.8
- Экспорт данных в файл.
- Использование подчеркивания в REPL
- Проверка элемента в множестве.
- Разделение строки с помощью re.split()
- Progress с библиотекой tqdm
- Копирование объектов в Python
- Лямбда-функции в Python
- Функция map() в Python
- Работа с множествами в Python
- Разделение строки с помощью split()
- Многопоточность и асинхронное программирование в Python
- Оператор in и not in в Python
- GitHub в Telegram: подписка на уведомления
- Идентификатор объекта в Python
- Преобразование данных в Python
- Группы исключений в Python
- Возврат нескольких значений
- Функции range() в Python
- Разработка Telegram-ботов
- Создание OrderedDict
- Объединение словарей в Python
- Генераторные функции в Python
- Antigravity модуль
- Поиск наиболее частого элемента списке
- Представление бесконечности в Python
- Раздувающийся словарь в Python
- Циклы в Python
- Создание GUI с Tkinter: Entry
- %pinfo: получение информации об объекте
- Перевод эмодзи и эмотиконов.
- Замер времени выполнения кода
- Оптимизация сравнения в Python
- Проверка версии Python
- Избегайте использования goto
- Обрезка изображения с Pillow
- Курс по дообучению ChatGPT
- Названия столбцов в Python таблицах
- Генерация чисел с range()
- Преобразование регистра символов
- Создание копии списка в Python















