Курс 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"
- Вычисление натурального логарифма в NumPy
- Функция zip() в Python
- Разделение строки на пары ключ-значение.
- Работа с timedelta в Python
- Очистка вывода в Python
- GitHub в Telegram: подписка на уведомления
- Установка библиотек в Python
- Раздувающийся словарь в Python
- Извлечение статей с newspaper3k
- Namedtuple в Python
- Генераторы в Python
- Оператор «and» в Python
- Отслеживание выполнения программы с библиотекой tqdm
- Непрерывная проверка в Python
- Создание GUI с Tkinter: Entry
- Отладка утечек памяти в Python
- Преобразование числа в восьмеричную строку
- Руководство по библиотеке pydantic
- Итерация по коллекции в Python
- Удаление элементов из списка в Python
- Обработка ошибок в Python
- Структура данных словарь в Python
- Объединение строк с помощью метода join
- Создание таблиц в терминале с PrettyTable
- Удаление ключа из словаря в Python
- Итераторы в Python
- Отправка HTTP-запросов в Python
- Создание вкладок с TKinter
- Метод __ixor__ для побитового исключающего ИЛИ
- Присоединение элементов коллекции
- Метод __irshift__ для побитового сдвига вправо
- Аргументы *args и **kwargs
- Делегирование в Python
- Подписка на @SelectelNews
- Python: изменяемые и неизменяемые коллекции
- HTTP-запросы с библиотекой Requests
- Применение промокода в Много лосося
- Измерение времени выполнения кода в Python
- Таймер обратного отсчета
- Метод join() для объединения элементов строки
- Работа с JSON данными в Python
- Сортировка HTML-элементов
- Метод Self в Python
- Измерение времени выполнения кода
- Профилирование данных с Pandas
- Python Тесты и Гайды
- Анонимные функции в Python
- Генераторы данных
- Декоратор total_ordering для класса Point















