Pular para o conteúdo

Python erro: TypeError("'str' object is not callable") [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Python erro: TypeError("'str' object is not callable") [RESOLVIDO]

Enviado em 25/07/2019 - 15:03h

Boa tarde!
Estou estudando orientação a objetos no Python e me deparei com esse erro, gostaria de saber o que eu poderia fazer.
O erro se trata de tipo, porém o mesmo funciona em outras ocasiões.
Estou passando o detalhe do erro e meu código:
Erro:
Julia.cor_de_pelo()
TypeError: 'str' object is not callable
MAIN:
from Mamifero import Mamifero
from Pessoa import Pessoa

rex = Mamifero('Marrom', 'Masculino', 4)
rex.falar()
rex.andar()
rex.amamentar()
Julia = Pessoa('preto', 'feminino', 2, 'loiro')
Julia.falar()
Julia.cor_de_pelo()
Mamifero:
class Mamifero:

def __init__(self, cor_de_pelo, genero, andar):
self.cor_de_pelo = cor_de_pelo
self.genero = genero
self.numero_patas = andar

def falar(self):
print('Olá, sou um mamifero e eu sei falar')

def andar(self):
print(f'Estou andnado sobre {self.numero_patas} patas')

def amamentar(self):
if self.genero.lower()[0] == 'm':
print('Machos não amamentam')
return
print('Amamentando meu filhote')
Pessoa:
from Mamifero import Mamifero


class Pessoa(Mamifero):
def __init__(self, cor_de_pelo, genero, andar, cabelo):
super(Pessoa, self).__init__(cor_de_pelo, genero, andar)
self.cabelo = cabelo

def falar(self):
print('Ola sou uma pessoa e eu sei falar')

Responder tópico

2. Re: Python erro: TypeError("'str' object is not callable") [RESOLVIDO]

Enviado em 25/07/2019 - 15:07h

Não existe uma função cor_de_pelo pra ser chamada.

3. Resolvido

Enviado em 25/07/2019 - 15:26h

Como cor_de_pelo é um atributo do objeto Julia, ele não aceita os parêntesis.
A solução é apagar os parêntesis da linha 10 do MAIN ficando assim:
Julia.cor_de_pelo
Para mostrar o valor, pode ser usado um print:
Julia = Pessoa('preto', 'feminino', 2, 'loiro')
Julia.falar()
print(Julia.cor_de_pelo)

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder