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