Курс Python → Генераторы в Python
Генераторы (generators) в Python представляют собой специальный тип функций, которые позволяют создавать итераторы. Они позволяют нам создавать последовательности значений, не занимая много памяти, так как значения генерируются по требованию.
Давайте рассмотрим пример генератора my_range, который создает итератор, возвращающий числа от start до stop с заданным шагом step:
def my_range(start, stop, step):
while start < stop:
yield start
start += step
В данном примере функция my_range использует ключевое слово yield для возврата значений по одному при каждом вызове функции next(). Таким образом, мы можем итерироваться по результатам генератора, не занимая лишнюю память для хранения всей последовательности чисел.
Использование генераторов особенно удобно при работе с большими объемами данных, когда создание списка значений занимает много ресурсов. Генераторы позволяют нам эффективно обрабатывать данные в потоке, по мере их генерации, что повышает производительность программы.
Другие уроки курса "Python"
- Проверка дубликатов в Python
- Библиотека sh: использование команд bash в Python
- Анонимные функции в Python
- Работа с аргументами командной строки в Python
- Оптимизация памяти с __slots__
- Создание пар из последовательностей
- Метод count() для списка
- Переворот строки с помощью срезов
- Фильтрация данных в Python.
- Анализ кода — Python
- Работа с IP-адресами в Python
- Метод join() с набором
- Работа со словарями с defaultdict из collections
- Взаимодействие с sys
- Частичное применение функций в Python
- Кортежи в Python: особенности и преимущества
- Цикл for в Python
- Оболочка Python
- Метод __getitem__ в Python
- Создание графиков в терминале
- Хеширование паролей с солью
- Защита данных в Python
- Работа с итераторами через срезы
- Декоратор total_ordering для сравнения объектов
- Создание Radio кнопок в tkinter
- Капитализация строк
- Оформление текста в консоли с TermColor
- Метод radd для пользовательских чисел
- Просмотр файла в Jupyter Noteboo
- Поиск частых элементов в списке
- Функция eval() в Python
- Создание множества в Python
- Создание именованных кортежей в Python
- Форматирование объектов с модулем pprint
- Метод __complex__ в Python
- Работа с итераторами в Python
- Получение ID процесса
- Работа с collections в Python.
- Поиск анаграмм с Counter
- Повторение и перенос строки
- Вывод сложных структур данных с помощью pprint
- Работа с YAML в Python
- Модуль Antigravity в Python 3
- Извлечение аудио из видео
- Преобразование типов данных в set comprehension
- Печать календаря















