Реализованы ли основные принципы ООП в Python
Python
Junior
Без компании
Реализованы ли основные принципы ООП в Python
Ответы
Да, Python поддерживает все четыре основных принципа ООП: инкапсуляцию, наследование, полиморфизм и абстракцию.
**Инкапсуляция** – скрытие внутренней реализации. В Python нет строгой инкапсуляции, но соглашение `_` и `__` перед атрибутами указывает на приватность.
```
class Example:
def __init__(self):
self._protected = "protected"
self.__private = "private"
```
**Наследование** – создание дочерних классов. Python поддерживает множественное наследование.
```
class Parent:
pass
class Child(Parent):
pass
```
**Полиморфизм** – возможность использовать один интерфейс для разных типов.
```
def add(a, b):
return a + b
print(add(1, 2)) # 3
print(add("a", "b")) # "ab"
```
**Абстракция** – создание абстрактных классов с помощью модуля `abc`.
```
from abc import ABC, abstractmethod
class AbstractClass(ABC):
@abstractmethod
def method(self):
pass
```
Python реализует ООП гибко, без излишней строгости.