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

Как реализована инкапсуляция в Python

В Python инкапсуляция реализована через соглашения об именовании и механизм property.

  • Соглашения:
    • _var — protected (условно защищённый атрибут, но доступен).
    • __var — private (имя модифицируется как _ClassName__var).
  • Property:
    python
    class MyClass:
        def __init__(self):
            self.__hidden = 10  # Private
    
        @property
        def hidden(self):
            return self.__hidden
    
        @hidden.setter
        def hidden(self, value):
            if value > 0:
                self.__hidden = value

Важно: Python не запрещает доступ к __var напрямую, но усложняет его. Инкапсуляция строится на доверии к разработчику.

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

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

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

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