Name Mangling
Name mangling is a feature in Python that is used to avoid naming conflicts in class hierarchies by adding a prefix to the name of a class member that starts with two underscores, but does not end with more than one underscore. When a member name is prefixed with two underscores, Python automatically rewrites the name in a way that makes it harder to access the member from outside the class....