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

Erro "TypeError: Pleno() takes no arguments"

Aqui vai meu código:

class Funcionario: def init(self, nome): self.nome = nome

def registra_horas(self, horas):
    print("Horas registradas.")

def mostrar_tarefas(self):
    print("Fez muita coisa...")

class Caelum: def mostrar_tarefas(self): print("Fez muita coisa, Caelumer!")

def busca_cursos_do_mes(self, mes=None):
    print(f"Mostrando cursos - {mes}" if mes else "mostrando cursos desse mês")

class Alura:

#def mostrar_tarefas(self):
#    print("Fez muita coisa, Alurete!")

def busca_perguntas_sem_resposta(self):
    print("Mostrando perguntas sem resposta no fórum")

class Hipster: def str(self): return f"Hipster, {self.nome}"

class Junior(Alura): pass

class Pleno(Alura, Caelum, Hipster): pass

jose = Junior() jose.busca_perguntas_sem_resposta()

luan = Pleno('Luan') luan.busca_perguntas_sem_resposta() luan.busca_cursos_do_mes() luan.mostrar_tarefas()

print(luan)

Deu o seguinte erro:

C:\Users\rapha\PycharmProjects\pythonProject\python3oo2\venv\Scripts\python.exe C:/Users/rapha/PycharmProjects/pythonProject/python3oo2/teste.py Traceback (most recent call last): File "C:\Users\rapha\PycharmProjects\pythonProject\python3oo2\teste.py", line 40, in luan = Pleno('Luan') TypeError: Pleno() takes no arguments Mostrando perguntas sem resposta no fórum

Process finished with exit code 1

2 respostas
solução!

Beleza?Então, esse erro acontece porque a classe Pleno herda de ALURA, CAELUM e HIPSTER, mas no init dessas classes não é pedido atribuição de nada, então a classe fica sem receber parametro nenhum

Se a clase Pleno herdasse da classe Funcionário, ai sim vc colocaria o nome 'LUAN' e daria certo. Veja que Funcionário no seu inicializador sim tem o def init(self, nome): self.nome = nome

Não me atentei para isso. Obrigado pela ajuda, Hugo!