Встречается на собеседованиях • сегодня

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

Python поддерживает 4 основных принципа ООП:

Инкапсуляция - сокрытие внутренней реализации. В Python нет строгой инкапсуляции, но соглашение:

  • Публичные атрибуты: name
  • Защищённые (условно приватные): _name
  • Приватные (name mangling): __name
python
class Person:
    def __init__(self, name):
        self.__name = name  # приватный
    
    def get_name(self):     # публичный интерфейс
        return self.__name

Наследование - создание дочерних классов:

python
class Animal:
    def make_sound(self):
        pass

class Dog(Animal):
    def make_sound(self):
        return "Woof!"

Полиморфизм - один интерфейс для разных типов:

python
def animal_sound(animal: Animal):
    print(animal.make_sound())

dog = Dog()
animal_sound(dog)  # Woof!

Абстракция - выделение общего интерфейса (в Python через ABC):

python
from abc import ABC, abstractmethod

class Shape(ABC):
    @abstractmethod
    def area(self):
        pass

Python также поддерживает множественное наследование, миксины и другие продвинутые возможности ООП.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы