__valueName mangling переименовывает
__value в _Helper__value только по имени класса, без учёта модуля. Если два независимых класса Helper хранят __value, а кто-то наследуется от обоих, поле оказывается общим: один кладёт строку, другой число, сложение падает с TypeError. Именно этот пример сейчас обсуждают на форуме разработчиков Python в споре о настоящей приватности; рецепт на сегодня: одно подчёркивание и композиция вместо двойного наследования.В нашем канале «Точка входа» разобрали подробнее.
@zen_of_python