2
respostas

Como listar os dados dentro de uma função?

Boa tarde, estou treinando um pouco sobre POO e me deparei com um problema, preciso listar o nome de todos os professores e suas respectivas matérias em um print, cada professor ensina somente uma matéria, pensei em criar uma classe só pra isso, mas não sei se é a forma mais correta de se fazer. Segue o código abaixo:

class Funcionario:

    def __init__(self, nome, idade):
        self.nome = nome
        self.idade = idade


class Professor(Funcionario):

    def __init__(self, nome, idade, materia):
        super().__init__(nome, idade)
        self.materia = materia
2 respostas

Olá Raphael, tudo bem?

Perfeito, é assim mesmo. Agora implemente esse método de listar o nome do professor e a matéria que ele ministra para darmos uma olhada aqui.

Vou mandar a forma que fiz, gostaria de saber se há outra forma de fazer e como restringir para que o classe ListagemProf só receba objetos da classe professor

class ListagemProf:

    def __init__(self):
        self.nomes = []

    def insere_prof(self, nome):
        self.nomes.append(nome)

    def mostrar_prof(self):
        print('Professores:')
        for nomes in self.nomes:
            print(nomes.nome)