OO em Python

Off Topic

19/12/2015

Não sei aonde está o erro, podem me ajudar?


class Pet:

    def __init__(self, name, specie):
        self.name = name
        self.specie = specie

    def getName(self):
        return self.name

    def getSpecie(self):
        return self.specie

    def __str__(self):
        return "$s is a %s" % (self.name, self.specie)


myPet1 = Pet("Pepita", "dog")
myPet2 = Pet("Fio", "cat")
myPet3 = Pet("Snow", "fish")

print(myPet1)
print(myPet2)
print(myPet3)

print("myPet1 name attribute: " + str(myPet1.getName()))
print("myPet3 specie attribute: " + str(myPet3.getSpecie()))
print("myPet2 name attribute: " + str(myPet2.getName()))
print("myPet2 name attribute: " + str(myPet2.getSpecie()))


Lucas Leitão

Lucas Leitão

Curtidas 0

Respostas

Jothaz

Jothaz

19/12/2015

Qual erro esta retornando?

Ante de começar a programar OO você estudou e aprendeu o paradigma de OO?

Por que sem compreender os conceitos vai ficar difícil até ajudá-lo.
GOSTEI 0
Lucas Leitão

Lucas Leitão

19/12/2015

A seguinte mensagem é apresentada:

line 14, in __str__
    return "$s is a %s" % (self.name, self.specie)
TypeError: not all arguments converted during string formatting
GOSTEI 0
Jothaz

Jothaz

19/12/2015

Ante de começar a programar OO você estudou e aprendeu o paradigma de OO?


Você não respondeu a outra pergunta!
GOSTEI 0
Lucas Leitão

Lucas Leitão

19/12/2015

Desculpa Jothaz, fui apressado, bom, tenho uma pequena base, mas confesso que falha.
GOSTEI 0
Jothaz

Jothaz

19/12/2015

Não me leve a mal, mas vou ser extremamente franco, se quer realmente aprender a programar e se profissionalizar não pode queimar etapas.

Tem de aprender os conceitos antes de querer programar, senão não irá a lugar nenhum.

Albert Einstei que foi um dos seres humanos mais geniais dizia: "O único lugar onde o sucesso vem antes do trabalho é no dicionário."

Python é simples e você consegue escrever um monte de código simples, quase banais, mas se quer mesmo aprender tem de estudar mais ante de começar a por a mão na massa, pois quando começar a criar código mais sérios vai aumentar a complexidade.

Não quero com isso menosprezar o desqualificar seu esforço, mas estude e pesquise mais senão vai sair do lugar.

Sobre o erro tente isso:

return "%s is a %s" % (self.name, self.specie): 
GOSTEI 0
Lucas Leitão

Lucas Leitão

19/12/2015

Você está certo Jothaz, pode ser franco, não irei achar ruim! toda ajuda é bem vinda. Testar aqui esse trecho de código.
GOSTEI 0
Lucas Leitão

Lucas Leitão

19/12/2015

Deu certo, só um pequeno erro, sem o ":"
GOSTEI 0
Jothaz

Jothaz

19/12/2015

Deu certo, só um pequeno erro, sem o ":"


Como disse tem anos que não uso Phyton e estou sem ele instalado, fiz de cabeça então este tipo de erro pode acontecer mesmo.

Mas que bom que funcionou.
GOSTEI 0
Lucas Leitão

Lucas Leitão

19/12/2015

Ajudou bastante, não da para lembrar de tudo!
GOSTEI 0
POSTAR