Встречается на собеседованиях • сегодня
В чем разница между атрибутами private, protected и public
В Python все атрибуты по умолчанию public (доступны отовсюду).
Protected (_attr):
- Условно защищенный (по соглашению, не строго).
- Доступен везде, но IDE и линтеры предупреждают.
Private (__attr):
- Имя модифицируется (
_ClassName__attr). - Нельзя обратиться напрямую через
obj.__attr, но можно черезobj._ClassName__attr.
Пример:
python
class Example:
def __init__(self):
self.public = 1 # Доступно везде
self._protected = 2 # "Не трогай" (но можно)
self.__private = 3 # Доступ через _Example__private
obj = Example()
print(obj.public) # 1
print(obj._protected) # 2 (но не рекомендуется)
print(obj.__private) # Ошибка!
print(obj._Example__private) # 3 (но так делать не стоит)Важно: Python доверяет разработчику — защита лишь на уровне соглашений.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы