Встречается на 1% собеседований по Python
Как реализуются private методы в Python
В Python нет строгой инкапсуляции, но есть соглашение об именовании для обозначения приватных методов и атрибутов.
- Одиночное подчеркивание (
_method) – условно приватный метод (convention). Не запрещает доступ, но сигнализирует, что метод предназначен для внутреннего использования. - Двойное подчеркивание (
__method) – вызывает name mangling (искажение имени), чтобы избежать случайного переопределения в подклассах.
python
class MyClass:
def _internal_method(self):
print("Internal use")
def __private_method(self):
print("Name-mangled")
obj = MyClass()
obj._internal_method() # Работает, но не рекомендуется
obj.__private_method() # Ошибка! Доступ через _MyClass__private_methodВажно:
- Это лишь соглашение, а не строгая защита.
- Для настоящей инкапсуляции можно использовать
@propertyили декораторы.

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