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

Как обозначаются приватные данные и методы в Python

В Python приватные атрибуты и методы обозначаются с помощью префикса двойного подчеркивания __. Это вызывает name mangling (искажение имени), чтобы избежать случайных переопределений в подклассах.

Пример:

python
class MyClass:
    def __init__(self):
        self.__private_var = 42  # Приватная переменная
        
    def __private_method(self):  # Приватный метод
        return "Secret"
        
    def public_method(self):
        return self.__private_var

Важно:

  • Доступ к __private_var извне будет возможен только через _MyClass__private_var (name mangling).
  • Одиночное подчеркивание _var — соглашение для "protected" атрибутов, но не блокирует доступ.

Не путать с __dunder__ (магические методы), которые не являются приватными.

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

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

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

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