В Python, _value и __value представляют собой соглашения о именовании переменных, не строгие правила видимости, как в некоторых других языках.
_value (одно подчеркивание в начале): Показывает, что переменная или метод являются "внутренними" или "защищенными". Предполагается, что к ним не следует обращаться напрямую извне класса или модуля. Это конвенция для разработчиков.
__value (два подчеркивания в начале): Вызывает механизм "name mangling" (искажение имени). Python автоматически изменяет имя переменной или метода, чтобы избежать конфликтов имен в иерархии наследования. Например, в классе MyClass, __value будет преобразовано в _MyClass__value. Это не делает переменную полностью приватной (к ней можно обратиться по искаженному имени), но затрудняет непреднамеренный доступ и помогает избежать коллизий при наследовании.
Кратко: _value - конвенция для "защищенных" членов; __value - механизм name mangling для предотвращения коллизий имен при наследовании.
python