Курс Python → Генераторы в Python
Генераторы в Python представляют собой специальный тип функций, которые могут генерировать значения по требованию, вместо того чтобы возвращать их все сразу. Это позволяет существенно экономить память и улучшает производительность программы. Генераторы могут быть использованы для создания итераторов, которые позволяют поочередно обходить элементы последовательности.
Для создания собственного итерабельного класса в Python необходимо определить метод __iter__, который будет возвращать итератор. Однако, вместо того чтобы создавать отдельный класс для итератора, можно воспользоваться генераторами для упрощения этого процесса. Функция-генератор представляет собой обычную функцию, в теле которой используется ключевое слово yield для возврата значений.
class MyIterableClass:
def __iter__(self):
for i in range(5):
yield i
В данном примере класс MyIterableClass является итерабельным благодаря методу __iter__, который использует функцию-генератор для возврата значений от 0 до 4. При обращении к объекту данного класса в цикле for, значения будут генерироваться по мере необходимости.
Таким образом, использование генераторов для создания итераторов и итерабельных классов в Python позволяет упростить и ускорить процесс разработки, а также сделать код более читаемым и эффективным. Благодаря гибкости и удобству генераторов, программисты могут легко создавать итерируемые объекты без необходимости создания отдельных классов итераторов.
Другие уроки курса "Python"
- Атрибуты класса и экземпляра в Python
- Очистка вывода в Python
- Проверка существования переменной с оператором :=
- Удаление элемента по индексу
- Распаковка аргументов в Python
- Работа со словарями с defaultdict из collections
- Комментарии в Python
- Создание namedtuple из словаря
- Утечки переменных цикла в Python 3.x
- Работа с эмодзи в Python
- Обмен данными с asyncio.Queue
- Открытие, чтение и закрытие файла
- Делегирование в Python
- Оператор «not» в Python
- Работа с каталогами в Python
- Библиотека Rich: форматирование текста
- Генерация QR-кодов с Python
- Работа с дробями в Python
- Проверка элементов списка условием
- Работа со строками в Python
- Фильтрация списка от «ложных» значений
- Поиск частых элементов в списке
- Фильтрация последовательности
- CLI-инструмент howdoi
- Перебор элементов списка в Python
- Работа с пакетами
- Функциональное программирование.
- Конвертация коллекций в Python
- Работа с путями в Python
- Генераторы в Python
- Назначение максимального и минимального значения переменной в Python.
- Создание уникального множества
- Введение в PyTorch
- Работа с комплексными числами в Python
- Переменная с нижним подчеркиванием
- Создание объекта timedelta
- Переопределение метода
- Работа с timedelta в Python
- Работа с IP-адресами в Python
- Сравнение строк в Python
- Генерация случайных чисел в Python
- Многопоточность и асинхронное программирование в Python
- Логический оператор «and» в Python
- Создание даты из строки ISO















