Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Nomenclatura

Ficou claro o que é uma classe e um método. Mas ainda não entendi sobre instâncias. Alguém pode apontar no código.

class Perfil(object):
    'Classe padrão para perfis de usuários'
    def __init__(self, nome, telefone, empresa):
        self.nome = nome
        self.telefone = telefone
        self.empresa = empresa
        self.__curtidas = 0

    def imprimir(self):
        print "Nome: %s, Telefone: %s, Empresa: %s" % (self.nome,self.telefone,self.empresa)

    def curtir(self):
        self.__curtidas+=1

    def obter_curtidas(self):
        return self.__curtidas
4 respostas
solução!

No seu código não há instância. Instância de um classe é um objeto criado a partir da classe. Didaticamente podemos dizer que instância é a mesma coisa que objeto.

No exemplo abaixo temos uma instância da classe Perfil:

p = Perfil(... Aqui entram os parâmetros )

Aqui p é uma instância da classe Perfil.

Mas dentro da classe, self é uma referência para a instância quando um método é chamado.

Certo, Flavio. Então p é uma instância e você disse que é a mesma coisa que objeto. E os parâmetros posso dizer que são objetos também?

Só se o parâmetro recebido no método (sem ser o self, que é uma referência para a instância que chama o método naquele momento) for um objeto.

Entendi, obrigado.