Встречается на 2% собеседований по Python
Зачем нужно __ в Python
Двойное подчеркивание (__) в Python используется для name mangling (искажения имен) — механизма, который изменяет имена атрибутов класса, чтобы избежать конфликтов имен в подклассах.
Пример:
python
class MyClass:
def __init__(self):
self.__private = 42 # Превращается в _MyClass__private
obj = MyClass()
print(obj.dict) # {'_MyClass__private': 42}
obj.__private # AttributeError
text
**Особенности:**
- Имя преобразуется в `_ИмяКласса__атрибут`.
- Не делает атрибут приватным (доступ через `_ИмяКласса__атрибут`).
- Используется для избежания коллизий в наследовании.
**Важно:** Одиночное `_` — соглашение для "protected", а `__` — именно для name mangling.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы