Курс 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"
- Строковое представление объектов
- Функция sleep() в Python
- Измерение времени выполнения кода
- Функции с дополнением
- Функции map, filter, reduce
- Транспонирование 2D-массива с помощью zip
- Функция __init__ в Python
- Отделение звука от видео
- Метод rsub для пользовательских чисел
- Инверсия списка/строки в Python
- Списковый компрехеншен.
- Декораторы в Python
- Python reversed() функция
- Компиляция регулярных выражений
- Декораторы в Python
- Декодирование байтов в строку
- Python Менеджер контекста
- HTTP-запросы с библиотекой Requests
- Метод rename() для переименования файлов и каталогов
- Манипуляция формой массива в Numpy
- Подсчет элементов в Python
- Метод hash в Python
- Генераторы списков
- Базовые объекты Python
- Сортировка и разворот списка
- Преобразование строки в число
- Делегирование в Python
- Функции в Python: создание и вызов
- Экспорт данных с помощью writefile
- Установка максимального количества цифр
- Открытие, чтение и закрытие файла
- Библиотека Rich: форматирование текста
- Регистрация на TenChat
- Получение размера объекта с sys.getsizeof()
- Методы __repr__ и __str__ в Python
- Функция product() из itertools
- Форматирование объектов с модулем pprint
- Руководство по использованию Colorama
- PrettyTable: создание таблицы
- Преобразование списка в словарь через генератор
- Блок try-except-else
- Проверка подстроки в строке с помощью in
- Бесконечная проверка в Python
- Работа с CSV файлами
- Сохранение и загрузка модели в PyTorch
- Многоточие в Python
- Работа со строками в Python















