Classes em Python A definição de uma classe, como abaixo, cria um novo objeto de classe, e um novo espaço de nomes: class MyClass: "A simple example class" i = 12345 def f(self): return 'hello world' def __init__(self, lista): self.lista = lista # MyClass.__doc__ retorna essa string (docstring) # i é uma variável de classe, acessível por MyClass.i # um método de classe, acessível por MyClass.f() # chamado automaticamente pelo construtor para inicializar # define uma variável de instância (atributo) e a inicializa Instanciando a classe: x = MyClass([1,2,3]) #cria uma nova instância e retorna sua referência em x x.lista # o atributo de x, inicializado com a lista [1,2,3] Outro exemplo: class Fracao: def __init__(self, num, den): self.num = num self.den = den def somar(self, f): den = self.den * f.den num = self.num * f.den + self.den * f.num return Fracao(num, den) def impr(self): print str(self.num)+'/'+ str(self.den) Instâncias são chamadas em Python de instance objects (objetos de instância). Exemplo de uso da classe. x= Fracao(1,2) y = Fracao(3,8) z = x.somar(y) z.impr() 14/16 # constrói uma nova instância de Fracao, e x é a referência # outra instância de Fracao # o método somar() constrói outra Fracao com a soma.