[issue44244] protected members accessible in other modules
Dennis Sweeney
report at bugs.python.org
Thu May 27 01:04:00 EDT 2021
Dennis Sweeney <sweeney.dennis650 at gmail.com> added the comment:
Being in different modules is irrelevant. Attribute names that start with double underscores and don't end with double underscores are "mangled" by the compiler to include the class name as well:
>>> class MyClass:
... def __init__(self):
... self.__data = 17
...
...
>>> x = MyClass()
>>> x._MyClass__data
17
See https://docs.python.org/3/tutorial/classes.html?highlight=mangle#private-variables
I don't think there's a bug here.
----------
nosy: +Dennis Sweeney
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue44244>
_______________________________________
More information about the Python-bugs-list
mailing list