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

Есть ли открытое ООО

В Python нет понятия "открытого" или "закрытого" ООП в классическом смысле (как в C++ или Java). Все атрибуты и методы классов по умолчанию доступны извне. Однако есть соглашения и механизмы для инкапсуляции:

  1. Соглашение: атрибуты/методы, начинающиеся с _, считаются "protected" (условно-закрытыми) — это договорённость между разработчиками.
python
class Example:
    def __init__(self):
        self._internal = 42  # "защищённый" атрибут
  1. Name Mangling: двойное подчёркивание __ перед именем искажает его, делая труднодоступным извне (но не невозможным):
python
class Example:
    def __init__(self):
        self.__secret = 100  # станет _Example__secret

obj = Example()
print(obj._Example__secret)  # 100 (но так делать не стоит)
  1. Property: контроль доступа через декораторы:
python
class Example:
    @property
    def value(self):
        return self._value

    @value.setter
    def value(self, val):
        self._value = max(0, val)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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