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
).