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
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Соглашения об именовании приватных методов и name mangling - это не про защиту от злонамеренных хакеров, взламывающих ваш код. Всё это для предотвращения непреднамеренно ошибочного использования объектов. В больших системах бывает сложно уследить, что один объект из сотен, в одном из тысяч возможных состояний программы не нарушает инварианты другого объекта. Весь ООП придумывался ради снижения сложности кода.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект