Курс 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 3.5+
- Введение в PyTorch
- Удаление символа из строки
- Обработка исключений в Python
- Оператор Walrus: правильное использование
- Работа с itertools
- Получение пути к текущему скрипту с помощью os
- Метод join() для объединения элементов в строку.
- Подсчет вхождений элементов
- Руководство по Pymorphy2
- Оптимизация памяти с помощью __slots__
- Оптимизация интернирования строк
- Функция all() в Python
- Циклы в Python
- Форматирование строк в Python
- Метод rsub в Python: расширение функциональности вычитания
- Бесконечная проверка в Python
- Библиотека schedule: планировщик задач
- Пересечение списков с использованием множеств
- Управление браузером с Selenium
- Преобразование многоуровневого словаря
- Оценка точности модели
- Автоматизация действий с Pyautogui
- Сравнение строк в Python
- Работа с Requests для HTTP-запросов
- Настройка шрифта и цвета в Tkinter
- Итераторы с потерямиZIP
- Множественное присваивание в Python
- Функция enumerate в Python
- split() — разделение строки
- Преобразование символов в нижний регистр
- Работа с argparse
- Повторение элементов списков
- Лямбда-функции в Python
- Логический оператор «and» в Python
- Профилирование кода
- Асинхронный код в Python
- Замена переменных в Python
- Работа с IP-адресами в Python
- Непрерывная проверка в Python
- Метод join() с набором
- Преобразование в float
- Курс по дообучению ChatGPT
- Метод rmatmul для пользовательских матриц
- Блок try-except-else
- Транспонирование 2D-массива с помощью zip















