ООП организует поведение и состояние вокруг объектов. В Python классы сами являются объектами, методы используют явный self, а полиморфизм часто строится на протоколах и duck typing.
Что такое ООП и как оно устроено в Python? Какие нюансы работы с ООП есть в Python?
ООП организует поведение и состояние вокруг объектов. В Python классы сами являются объектами, методы используют явный self, а полиморфизм часто строится на протоколах и duck typing.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
ООП организует поведение и состояние вокруг объектов. В Python классы сами являются объектами, методы используют явный self, а полиморфизм часто строится на протоколах и duck typing.
Атрибуты экземпляра и класса различаются; изменяемое значение на классе может случайно стать общим для всех экземпляров. Специальные методы интегрируют объекты с операторами и стандартными протоколами.
Python поддерживает наследование, включая множественное с MRO, свойства и дескрипторы. Строгой приватности как запрета доступа обычно нет: используются соглашения и name mangling. Композиция нередко проще сложной иерархии. Типовые аннотации помогают инструментам, но сами по себе не превращают язык в статически проверяемую во время исполнения систему.