Какие знаешь основные принципы ООП в Python

Python Junior Без компании
Какие знаешь основные принципы ООП в Python
Ответы
Основные принципы ООП в Python: - **Инкапсуляция** – сокрытие внутренней реализации и предоставление интерфейса для работы с объектом. В Python используется соглашение об именовании (`_` и `__` для protected/private атрибутов), но строгой инкапсуляции нет. ``` class Person: def __init__(self, name): self._name = name # protected self.__secret = "confidential" # private (name mangling) ``` - **Наследование** – возможность создания новых классов на основе существующих. Python поддерживает множественное наследование. ``` class Animal: def speak(self): pass class Dog(Animal): def speak(self): return "Woof!" ``` - **Полиморфизм** – возможность использовать объекты разных классов через единый интерфейс. В Python реализуется через переопределение методов и утиную типизацию. ``` def make_sound(animal): print(animal.speak()) make_sound(Dog()) # Выведет "Woof!" ``` - **Абстракция** – создание упрощённых моделей объектов. В Python реализуется через абстрактные классы (`abc` модуль) или просто через документирование ожидаемого интерфейса. ``` from abc import ABC, abstractmethod class Shape(ABC): @abstractmethod def area(self): pass ```