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