Встречается на собеседованиях • сегодня
Какой синтаксис у private параметра
В Python нет строгих private-параметров, но есть соглашение об именовании для обозначения "приватных" атрибутов и методов. По соглашению, имена, начинающиеся с одного подчеркивания _, считаются защищенными (protected), а с двойного __ - приватными (private).
Приватные имена (__name) вызывают механизм name mangling - интерпретатор изменяет имя, добавляя перед ним имя класса. Это не делает атрибут по-настоящему приватным, но усложняет случайный доступ.
Пример:
python
class MyClass:
def __init__(self):
self._protected = 10 # защищенный
self.__private = 20 # приватный
obj = MyClass()
print(obj._protected) # 10 (доступ есть, но не рекомендуется)
print(obj.__private) # AttributeError
print(obj._MyClass__private) # 20 (работает через mangling)Важно: это лишь соглашение, Python доверяет разработчику и не запрещает доступ. Для настоящей инкапсуляции можно использовать @property или модуль accessify.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы