Курс 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"
- Форматирование вывода списков
- Функция __init__ в Python
- Определение функций с необязательными аргументами
- Разделение строк в Python
- Срез списка в Python
- Библиотека sh: удобные команды терминала
- Создание словаря с значением по умолчанию
- Сокращение ссылок с pyshorteners
- Преобразование списка в словарь через генератор
- Создание функций с произвольным количеством аргументов
- Подсказки при вводе данных в Python
- Фильтрация входных данных в Python
- Проверка типов с использованием isinstance
- Любовь к Python
- Функция enumerate() в Python
- Сортировка в Python
- Создание GUI с Tkinter: Entry
- Работа с множествами в Python
- Преобразование символов в нижний регистр
- Генераторы в Python
- Объединение строк с помощью метода join
- Применение функции к списку
- Перебор элементов списка в Python
- Объединение, распаковка и деструктуризация
- Преобразование чисел в восьмеричную строку
- Создание и операции с дробями
- Асинхронное программирование с asyncio
- Подсчет вхождений элементов
- Расчет времени выполнения
- Обмен значений переменных в Python
- Метод lt для сортировки объектов
- SciPy: широкий функционал для математических операций
- Методы работы со строками в Python
- Создание и использование ChainMap
- Генерация случайных чисел в Python
- Удаление элементов по срезу
- Поиск индекса элемента
- Работа с множествами в Python
- Генераторы данных
- Работа с модулем glob в Python
- Нахождение отличий в списках
- Удаление файлов с shutil.os.remove()
- Поток данных в Python
- Управление виртуальными окружениями в Python
- Сортировка и обратный порядок















