Задать вопрос
weranda
@weranda

Зачем нужен приватный метод и аргумент, если доступ к нему все равно можно получить извне?

Приветствую.

Простой пример:
class Akk:

    def __init__(self, name):
        self.__name = name

    def __show_name(self):
        print(self.__name)

a = Akk('John')  
a._Akk__show_name()  # > John
print(a._Akk__name)  # > John
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Соглашения об именовании приватных методов и name mangling - это не про защиту от злонамеренных хакеров, взламывающих ваш код. Всё это для предотвращения непреднамеренно ошибочного использования объектов. В больших системах бывает сложно уследить, что один объект из сотен, в одном из тысяч возможных состояний программы не нарушает инварианты другого объекта. Весь ООП придумывался ради снижения сложности кода.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы