Next: A First Example of
Up: Writing Modules
Previous: Operator Overloading
  Contents
In many object-oriented languages, certain attributes can be declared as private, making
it impossible for users of a class to directly view or modify their values. The designer
of the class then provides methods to control the ways in which these attributes can
be manipulated. While Python classes don't have true private attributes,
if an attribute name begins with two underscores, the Python interpreter internally
modifies the attribute's name, so that references to the attribute will not be resolved.
(Of course anyone willing to look up the way in which the attribute name is ``mangled''
could still access it.) Through this convention, you can create attributes which will
only be available within the methods you define for the class, giving you more control
over the way users of your class will manipulate those attributes.
Phil Spector
2003-11-12