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: "A simple example class" 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. __doc__
is also a valid
attribute that's read-only, returning the docstring belonging to
the class: "A simple example class"
).
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
.