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

Как получить защищенный метод класса

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

Пример:

python
class MyClass:
    def __init__(self):
        self._protected_method()
text
def _protected_method(self):
    print("Это защищенный метод")

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

text

Для более строгой защиты можно использовать двойное подчеркивание `__` (name mangling), но это не запрещает доступ полностью:
```python
class MyClass:
    def __init__(self):
        self.__private_method()

    def __private_method(self):
        print("Это приватный метод")

obj = MyClass()
obj._MyClass__private_method()  # Доступ через name mangling

Важно: в Python защита методов - это соглашение, а не строгое ограничение.

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

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

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

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