Встречается на собеседованиях • сегодня
Как скрыть методы и переменные класса в Python
В Python нет строгой инкапсуляции, но есть соглашения для обозначения "приватных" атрибутов:
- Одно подчеркивание
_variable– условно приватный атрибут (по соглашению, но доступен извне). - Два подчеркивания
__variable– вызывает name mangling (интерпретатор переименует атрибут в_ClassName__variable).
Пример:
python
class MyClass:
def __init__(self):
self._protected = 123
self.__private = 456
obj = MyClass()
print(obj._protected) # Доступно, но не рекомендуется
print(obj.__private) # Ошибка! Доступ через obj._MyClass__privateВажно: Это не запрещает доступ, а лишь усложняет его. Для настоящей защиты нужно использовать свойства (@property) или документально оговаривать API.

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