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

Как реализуются protected методы в Python

В Python нет строгой инкапсуляции, но есть соглашения для protected методов. Они обозначаются одним подчеркиванием в начале имени (_method_name), что сигнализирует разработчикам, что метод предназначен для внутреннего использования в классе или его наследниках.

Пример:

python
class MyClass:
    def __init__(self):
        self._protected_value = 42
    
    def _protected_method(self):
        return "Это protected метод"

class Child(MyClass):
    def use_protected(self):
        return self._protected_method() + str(self._protected_value)

Важные нюансы:

  1. Это лишь соглашение - метод все равно доступен извне
  2. Не попадает в help() по умолчанию
  3. При импорте через from module import * такие методы не импортируются
  4. IDE обычно подсвечивают такие обращения как предупреждение
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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