Definindo atributos e métodos de classe
Qualquer variável que esteja ligada em uma classe é um atributo de classe. Qualquer função definida em uma classe é um método. Os métodos recebem uma instância da classe, convencionalmente chamada self, como o primeiro argumento. Por exemplo, para definir alguns atributos e métodos de classe, é possível inserir o script a seguir:
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
Dentro de uma classe, é necessário qualificar todas as referências aos atributos de classe com o nome da classe (por exemplo, MyClass.attr1). Todas as referências a atributos de instância devem ser qualificadas com a variável self (por exemplo, self.text). Fora da classe, é necessário qualificar todas as referências aos atributos de classe com o nome da classe (por exemplo, MyClass.attr1) ou com uma instância da classe (por exemplo, x.attr1, em que x é uma instância da classe). Fora da classe, todas as referências a variáveis de instância devem ser qualificadas com uma instância da classe (por exemplo, x.text).