Курс Python → Генераторы в Python
Генераторы в Python — это специальный тип функций, позволяющих создавать итерируемые объекты. Вместо ключевого слова return они используют ключевое слово yield для возврата значений. Когда функция с генератором вызывается, она не выполняется до конца, а приостанавливается на каждом выражении yield, возвращая значение. При следующем вызове функции, выполнение продолжается с того же места, где оно было приостановлено.
Генераторы позволяют экономить память, так как они не хранят весь набор значений в памяти, а генерируют их по мере необходимости. Это особенно полезно, когда нужно обрабатывать большие объемы данных или когда набор значений бесконечен. Генераторы могут использоваться в циклах for для итерации по значениям, а также в выражениях генераторов и функциях map, filter.
# Пример генератора, возвращающего квадраты чисел
def squares(n):
for i in range(n):
yield i ** 2
# Использование генератора в цикле
for num in squares(5):
print(num)
Важно помнить, что генераторы в Python являются итерируемыми объектами, поэтому после того как все значения были возвращены, генератор исчерпывается и вызов функции next() на нем вызовет исключение StopIteration. Также можно использовать цикл while и обработку исключения StopIteration для обхода всех значений генератора.
Генераторы позволяют упростить и оптимизировать код, делая его более читаемым и эффективным. Они являются важной частью функционального программирования в Python и могут быть использованы для создания более компактного и элегантного кода. Используйте генераторы там, где это возможно, для улучшения производительности и удобства вашего кода.
Другие уроки курса "Python"
- Получение размера объекта с sys.getsizeof()
- Модуль inspect
- Избегание циклических зависимостей классов в Python
- Работа с набором данных CIFAR10 в PyTorch
- Расширение операции побитового «и» в Python
- Обработка исключений с блоком else
- Извлечение статей с newspaper3k
- Печать месячного календаря
- Просмотр файла в Jupyter Noteboo
- Разность множеств
- Переименование файлов в Python
- kwargs в Python
- Операции с матрицами в Python
- Повторение элементов в Python
- Курс по дообучению ChatGPT
- Методы HTTP запросов в Flask
- Метод pop() списка
- Списки в Python: синтаксис представления
- Прокачанный трейсинг ошибок
- Сортировка HTML по CSS-селектору
- Создание и операции с дробями
- Запуск внешнего кода в Jupyter
- Установка и использование Python-dateutil
- Установка random seed в Python
- Форматирование строк в Python
- Преобразование Excel в PDF с Spire.XLS
- Функции в Python
- Удаление ссылок в Python
- Генераторы в Python
- Функция reduce() из модуля functools
- Docstring в Python
- Создание списков в Python
- Тестирование времени с Freezegun
- Функции map, filter и reduce
- Управление IP-адресами через прокси
- Progress с библиотекой tqdm
- Оператор zip в Python
- Работа с пакетами
- Python Аргументы по умолчанию
- Добавление цвета в консоли
- Преобразование списка в словарь через генератор
- Генератор данных в Keras
- Глобальные переменные в Python
- Работа с дробями в Python
- Сортировка и разворот списка
- Мониторинг работы программы Py-spy
- Howdoi — получение ответов из терминала
- Извлечение новостей с помощью newspaper3k
- Работа с каталогами в Python















