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

O meu código está com o seguinte erro quando eu chamo o perfil.curtir()

Traceback (most recent call last): File "", line 1, in AttributeError: 'Perfil' object has no attribute 'curtir'

Estarei disponibilizando o código:

-- coding: UTF-8 --

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

lembrando que o meu código tem o underscore no init, mas aqui ele não aparece.

6 respostas

Oi Alexandre.

Quando você for postar um código, usa a opção <> Inserir Código, isso facilita a visualização.

Alterei seu código e não deu erro:

# -*- coding: utf-8 -*-
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

Como você usou essa classe Perfil?

insira seu código aqui
 'isso foi para fazer instancia'
perfil = Perfil('nome', 'telefone', 'empresa')

'E quando eu chamava o perfil.curtir(), estava dizendo que não existe'

eu fiquei com uma duvida no seu código. O init não era para ter um underline antes e depois da palavra.

Ajustei o código e funcionou assim:

# -*- coding: utf-8 -*-
class Perfil(object):
    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

perfil = Perfil('nome', 'telefone', 'empresa')
perfil.curtir()
perfil.curtir()
perfil.curtir()

print(perfil.curtidas)

No final imprimiu 3

agora está funcionando :) Agora entender onde estava o erro... vai saber rs Obrigado pela atenção...

solução!

Acho que o problema deve estar na identação do código, depois compara o que eu postei com o seu código anterior.

Por favor, não esquece de marcar o tópico como Solucionado.

Abraços.