Comments 2
Это не точный аналог private, поскольку атрибут может быть доступен через составленное имя
Это так, но не всегда: в некоторых (или любых) контекстах получить к атрибуту доступ невозможно совсем, потому что такое составленное имя точно так же (но с другим результатом) будет искажено. Поправьте меня, если я ошибаюсь
однако на практике __ не используется никогда
Кто сказал?
далее в статье перечислены множество стандартных атрибутов и методов, названия которых начинаются и заканчиваются с __
наверняка существуют программисты, которые используют свои атрибуты или методы, названия которых начинаются с __
мне ещё не доводилось (если не считать стандартные __init__ и прочие) стать одним из них, но рано или поздно это произойдёт
Далее цитата про _:
Он не вызывает алгоритм декорирования имени, но документирует атрибут как приватный элемент класса и является преобладающим стилем
Не приватный, а "защищённый" (аналог protected в C++ и братьях с сёстрами), доступный в дочерних классах, но нигде больше (конечно же, при фактическом отсутствии механизмов защиты это работает исключительно на джентльменском соглашении о префиксе _).
Про преобладающий стиль промолчу
P.S. Зачем писать статью, не разбираясь в тематике?
Книга «Python. Лучшие практики и инструменты»