Встречается на собеседованиях • сегодня
Как реализуются 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
интервью вопросы и ответы