Встречается на собеседованиях • сегодня
В чем разница между объявлениями private и protected методами в Python
В Python нет строгой инкапсуляции, но есть соглашения для обозначения приватных и защищённых атрибутов:
_protected(одно подчёркивание) – условно защищённый атрибут. Доступен извне, но считается внутренней реализацией класса.__private(два подчёркивания) – имя модифицируется (_ClassName__private) для предотвращения случайного переопределения в подклассах.
Пример:
python
class MyClass:
def __init__(self):
self._protected = 10
self.__private = 20
obj = MyClass()
print(obj._protected) # Работает (10)
print(obj.__private) # Ошибка! Доступ через obj._MyClass__privateВажно: Это лишь соглашение, а не строгая защита. Python доверяет разработчику.

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