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

Что из себя представляет метод с _ и __

В Python методы с одним и двумя подчёркиваниями в начале имеют особое значение:

  1. _method - "защищённый" метод (соглашение, не enforced). Означает, что метод предназначен для внутреннего использования в классе/модуле.
python
class MyClass:
    def _internal_helper(self):
        print("Это внутренний метод")
  1. __method - "приватный" метод (name mangling). Python изменяет имя метода, чтобы избежать конфликтов в подклассах.
python
class MyClass:
    def __private_method(self):
        print("Приватный метод")

obj = MyClass()
# obj.__private_method()  # Ошибка
obj._MyClass__private_method()  # Работает

Важно: это не настоящая инкапсуляция, а механизм для избежания коллизий имён. Для настоящей приватности нужно использовать соглашения и документацию.

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

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

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

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