7.5 Attributes and properties
Each polynomial created by UniPoly has an
attribute named indeterminate and another for terms. These are the
instance variables we defined. UniPoly also has attributes for
each instance method that you define or that Python creates for you. If obj is a
Python object, then dir(object) returns a list of attribute names.
"indeterminate" in dir(p)
True
"terms" in dir(p)
True
"__init__" in dir(p)
True
An instance variable is a read-write attribute, meaning that you can both get and set its
value with “.” notation.
In your class design, you may wish to allow your users direct and public access to an
instance variable. If you do not, prefix the variable’s name with two underscores
“__”. Python will rename the variable internally and make it more difficult, but
not impossible,...