Definizione dei metodi e degli attributi della classe

Qualsiasi variabile collegata in una classe è un attributo di classe. Qualsiasi funzione definita all'interno di una classe è un metodo. I metodi ricevono un'istanza della classe, denominata per convenzione self, come primo argomento. Ad esempio, per definire alcuni metodi e attributi della classe, è possibile immettere il seguente script:

class MyClass
    attr1 = 10        #class attributes
    attr2 = "hello"

    def method1(self):
        print MyClass.attr1   #reference the class attribute

    def method2(self):
        print MyClass.attr2   #reference the class attribute

    def method3(self, text):
        self.text = text        #instance attribute
        print text, self.text   #print my argument and my attribute

    method4 = method3   #make an alias for method3

All'interno di una classe, è necessario qualificare tutti i riferimenti agli attributi della classe con il nome della classe (ad esempio, MyClass.attr1). Tutti i riferimenti agli attributi dell'istanza devono essere qualificati con la variabile self (ad esempio, self.text). Al di fuori della classe, è necessario qualificare tutti i riferimenti agli attributi della classe con il nome della classe (ad esempio, MyClass.attr1) o con un'istanza della classe (ad esempio, x.attr1, dove x è un'istanza della classe). Al di fuori della classe, tutti i riferimenti alle variabili dell'istanza devono essere qualificati con un'istanza della classe (ad esempio x.text).