1
resposta

Classe Musica

Está certo fazendo dessa forma?

class Musica:

    musicas = []

    def __init__(self, nome, artista, duracao):
        self.nome = nome
        self.artista = artista
        self.duracao = duracao
        Musica.musicas.append(self)

    def __str__(self):
        return f'{self.nome} | {self.artista} | {self.duracao}'
    
    def listar_musicas():
        for musica in Musica.musicas:
            print(f'{musica.nome} | {musica.artista} | {musica.duracao}')

musica_energy = Musica('Energy', 'Drake', 3.20)

musica_alive = Musica('Alive', 'Pearl Jam', 5.40)

musica_perfect = Musica('Perfect', 'Simple Plan', 4.19)

Musica.listar_musicas()
1 resposta

Olá, Filipe. Tudo bem?

Sua implementação da classe Musica está correta e bem estruturada. Você criou os atributos nome, artista e duracao como solicitado e também adicionou um método para listar todas as músicas.

Percebi que você adicionou um atributo adicional musicas que é uma lista para armazenar todas as instâncias da classe Musica, é uma ótima maneira de manter o controle de todas as músicas criadas.

Parabéns. Bons estudos!