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

__init__() missing 1 required positional argument: 'nome'

Olá, não sei o que errei.

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(Funcionario):
    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(Funcionario):
    #def mostrar_tarefas(self):
    #    print('Fez muita coisa, Alurete!')


    def busca_perguntas_sem_resposta(self):
        print('Mostrando perguntas não respondidas do 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.busca_perguntas_sem_resposta()
luan.busca_cursos_do_mes()

luan.mostrar_tarefas()

print(luan)

Mensagem:

Traceback (most recent call last):
  File "d:\Projetos_ds\Cursos-Python-Alura\Python Orientado a Objetos 2\funcionarios.py", line 40, in <module>
    jose = Junior()
TypeError: __init__() missing 1 required positional argument: 'nome'
2 respostas
solução!

Oiii Thiago, como você está?

É um pequeno detalhe que você esqueceu. É necessário passar como parâmetro da classe um nome, pois, como a classe Junior e Pleno herdam da classe Funcionario e esta pede como requisito um nome, também é necessário passar esse parâmetro nas classes filhas. Tudo bem?

Veja como fica a correção:

jose = Junior("José")
jose.busca_perguntas_sem_resposta()

luan = Pleno("Luan")
luan.busca_perguntas_sem_resposta()
luan.busca_cursos_do_mes()

luan.mostrar_tarefas()

print(luan)

Qualquer dúvida estou por aqui, tá bom?

Grande abraço!

Obrigado Nádia, agora deu certo! Tenho que prestar mais atenção.

Muito obrigado