Курс Python → Создание итерируемых объектов
Для создания собственных итерируемых объектов в Python, можно использовать классы и специальные методы, такие как метод iter. Например, в данном примере у нас есть класс Squares, который реализует метод iter(self), возвращающий итератор. Итератор — это объект, который поддерживает метод next() и используется для итерации по последовательности значений.
При использовании цикла for для объекта squares, интерпретатор Python вызывает метод iter для получения итератора, а затем последовательно вызывает метод next до возникновения исключения StopIteration. Метод iter возвращает сам объект, так как он также является итератором.
Это удобно, когда мы создаем объекты, которые могут быть использованы в циклах for или других контекстах, требующих итерации. Таким образом, мы можем использовать наши собственные итерируемые объекты в стандартных итерационных конструкциях и управлять процессом итерации с помощью методов iter и next.
class Squares:
def __init__(self, n):
self.n = n
self.i = 0
def __iter__(self):
return self
def __next__(self):
if self.i < self.n:
result = self.i ** 2
self.i += 1
return result
else:
raise StopIteration
В приведенном выше примере кода класс Squares реализует методы __iter__ и __next__ для создания итератора, который возвращает квадраты чисел от 0 до n. Теперь мы можем создать объект этого класса и использовать его в цикле for для итерации по значениям квадратов чисел.
Другие уроки курса "Python"
- Метод enumerate() в Python
- Создание генераторов в Python
- Concrete Paths — метод .with_suffix()
- Работа с f-строками 2.0
- Обучение модели с указанием эпох
- Обновление ключей в Python
- Работа с аргументами командной строки в Python
- Выражения-генераторы в Python
- Работа с WindowsPath()
- Метод pos в Python
- Установка и использование TensorFlow
- Переменные в Python: сокращение гласных
- Работа с множествами в Python
- Сортировка слиянием
- Сохранение Unicode в JSON
- Работа с кортежами в Python
- Создание виртуальной среды
- Преобразование числа в список цифр
- Основные операции с Numpy
- Логирование с Logzero
- Работа с геоданными с помощью geopy
- Генерация QR-кодов с Python
- Поиск индекса элемента
- Распаковка элементов массива
- Метод hash в Python
- Профилирование кода на Python
- Numpy: разбиение массивов
- Преобразование документов в PDF с помощью Spire.Office
- Форматирование строк в Python
- Обработка ошибки IndexError
- Работа со строками в Python
- Создание словаря с значением по умолчанию
- Функции в Python: создание и вызов
- Форматирование данных с помощью pprint
- Метод rename() для переименования файлов и каталогов
- Измерение времени выполнения кода
- Отрицательные индексы списков в Python
- Обмен значений переменных в Python
- Сериализация и десериализация объектов
- Замена переменных в Python
- Атрибуты класса и экземпляра в Python
- Создание пар из последовательностей















