Встречается на собеседованиях • сегодня

Как можно вызвать защищенные методы в Python

В Python нет строгой защиты методов, но по соглашению методы с одним подчёркиванием в начале (например, _protected_method) считаются защищёнными. Их можно вызвать напрямую, но это не рекомендуется.

Пример:

python
class MyClass:
    def _protected_method(self):
        return "Это защищённый метод"

obj = MyClass()
print(obj._protected_method()) # Работает, но не рекомендуется

text

Для методов с двойным подчёркиванием (`__private_method`) Python применяет name mangling, но их тоже можно вызвать, зная изменённое имя:  
```python
class MyClass:
    def __private_method(self):
        return "Это приватный метод"

obj = MyClass()
print(obj._MyClass__private_method())  # Вызов через mangling

Лучше использовать публичные методы или свойства для доступа к защищённой логике.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы