Definiowanie atrybutów i metod klas

Dowolna zmienna powiązana z klasą jest atrybutem klasy. Dowolna funkcja zdefiniowana wewnątrz klasy jest metodą. Pierwszym argumentem każdej metody jest instancja klasy, zwyczajowo nazywana self. Na przykład, aby zdefiniować kilka atrybutów i metod klasy, można wprowadzić następujący kod:

class MyClass
    attr1 = 10        #atrybuty klasy
    attr2 = "hello"

    def method1(self):
        print MyClass.attr1   #odwołanie do atrybutu klasy

    def method2(self):
        print MyClass.attr2   #odwołanie do atrybutu klasy

    def method3(self, text):
        self.text = text        #atrybut instancji
        print text, self.text   #wydrukuj argument i atrybut

    method4 = method3   #utwórz alias dla method3

Wewnątrz klasy wszystkie odwołania do jej atrybutów muszą być kwalifikowane nazwą klasy, na przykład MyClass.attr1. Wszystkie odwołania do atrybutów instancji powinny być kwalifikowane zmienną self, na przykład self.text. Na zewnątrz klasy wszystkie odwołania do atrybutów klasy powinny być kwalifikowane nazwą klasy (na przykład MyClass.attr1) lub instancją klasy (na przykład x.attr1, gdzie x jest instancją klasy). Na zewnątrz klasy wszystkie odwołania do zmiennych instancji powinny być kwalifikowane instancją klasy, na przykład x.text.