Что знаешь о ООП в Python

Python Junior Без компании
Что знаешь о ООП в Python
Ответы
ООП в Python основано на четырёх ключевых принципах: инкапсуляции, наследовании, полиморфизме и абстракции. **Инкапсуляция** – скрытие данных (атрибуты класса могут быть приватными `_` или защищёнными `__`). **Наследование** – создание дочерних классов с переопределением или расширением родительских методов. **Полиморфизм** – возможность использовать один интерфейс для разных типов (перегрузка методов, duck typing). **Абстракция** – создание классов-шаблонов (например, через `abc.ABC`). Пример: ``` class Animal: def __init__(self, name): self._name = name # защищённый атрибут def speak(self): raise NotImplementedError("Subclass must implement") class Dog(Animal): def speak(self): return f"{self._name} says Woof!" dog = Dog("Rex") print(dog.speak()) # Rex says Woof! ``` Python поддерживает множественное наследование, миксины, магические методы (`__str__`, `__eq__`), декораторы свойств (`@property`) и другие возможности ООП.