Как работают private методы

Python Middle Без компании
Как работают private методы
Ответы
В Python нет строгой инкапсуляции, но приватные методы обозначаются двойным подчёркиванием `__` в начале имени. Это вызывает name mangling (искажение имени) — интерпретатор добавляет `_ИмяКласса` перед именем метода. Пример: ``` class MyClass: def __public(self): print("Это приватный метод") def call_private(self): self.__public() obj = MyClass() obj.call_private() # Работает obj.__public() # Ошибка: AttributeError ``` Фактически метод доступен как `_MyClass__public`, но напрямую по `__public` — нет. Это соглашение, а не строгая защита. Для "защищённых" методов используют одинарное подчёркивание `_method` — это лишь договорённость.