Class objects support two kinds of operations: attribute references and instantiation.
Attribute references use the standard syntax used for all
attribute references in Python: obj.name
. Valid attribute
names are all the names that were in the class's name space when the
class object was created. So, if the class definition looked like
this:
class MyClass: i = 12345 def f(x): return 'hello world'
then MyClass.i
and MyClass.f
are valid attribute
references, returning an integer and a function object, respectively.
Class attributes can also be assigned to, so you can change the
value of MyClass.i
by assignment.
Class instantiation uses function notation. Just pretend that the class object is a parameterless function that returns a new instance of the class. For example, (assuming the above class):
x = MyClass()
creates a new instance of the class and assigns this object to
the local variable x
.