Pull to refresh

Comments 2

Это не точный аналог private, поскольку атрибут может быть доступен через составленное имя

Это так, но не всегда: в некоторых (или любых) контекстах получить к атрибуту доступ невозможно совсем, потому что такое составленное имя точно так же (но с другим результатом) будет искажено. Поправьте меня, если я ошибаюсь

однако на практике __ не используется никогда

Кто сказал?

  • далее в статье перечислены множество стандартных атрибутов и методов, названия которых начинаются и заканчиваются с __

  • наверняка существуют программисты, которые используют свои атрибуты или методы, названия которых начинаются с __

  • мне ещё не доводилось (если не считать стандартные __init__ и прочие) стать одним из них, но рано или поздно это произойдёт

Далее цитата про _:

Он не вызывает алгоритм декорирования имени, но документирует атрибут как приватный элемент класса и является преобладающим стилем

Не приватный, а "защищённый" (аналог protected в C++ и братьях с сёстрами), доступный в дочерних классах, но нигде больше (конечно же, при фактическом отсутствии механизмов защиты это работает исключительно на джентльменском соглашении о префиксе _).

Про преобладающий стиль промолчу

P.S. Зачем писать статью, не разбираясь в тематике?

После раздела Об авторах стало совсем грустно

Sign up to leave a comment.