Использование стандартных интерфейсов
29.01.2025 - Практическая работа №9. Использование стандартных интерфейсов
В Python стандартные интерфейсы — это встроенные механизмы, позволяющие работать с объектами, как со списками, словарями, числами и т. д. Они задают правила, какие методы должны быть у объекта, чтобы он мог использоваться в определённых ситуациях (например, быть перебираемым в for
или сравниваться с другими объектами).
Пример 1: Интерфейс __iter__
(делаем объект перебираемым в for
)
__iter__
(делаем объект перебираемым в for
)Код
Объяснение
__iter__
делает объект итерируемым (его можно использовать вfor
).__next__
говорит, что делать при каждом новом шаге.Когда числа заканчиваются, вызывается
StopIteration
, иfor
понимает, что пора остановиться.
Тестирование
Пример 2: Интерфейс __len__
(делаем объект измеряемым len()
)
__len__
(делаем объект измеряемым len()
)Код
Объяснение
__len__
позволяет узнать, сколько элементов в объекте.Без него
len()
не будет работать с этим классом.
Тестирование
Пример 3: Интерфейс __str__
(делаем объект понятным для print()
)
__str__
(делаем объект понятным для print()
)Код
Объяснение
__str__
делает объект понятным при выводе.Без него
print(obj)
просто выведет "непонятную штуку" вроде<__main__.Person object at 0x00000123>
.
Тестирование
Итоги
__iter__
и__next__
позволяют использовать объект в циклеfor
.__len__
делает объект совместимым сlen()
.__str__
делаетprint(obj)
понятным.
Last updated