Oi, Luan! Como vai?
Com o que você descreveu, ficou bem legal a forma como você usou a lista de classe para armazenar as músicas. Um ponto que chamou atenção é o método __str___
, que parece ter um underscore a mais — isso impede que o Python reconheça o método especial corretamente. Ajustando para __str__
, tudo deve funcionar como esperado.
Uma dica interessante para o futuro é usar o método @classmethod
para listar as músicas, o que torna o código mais flexível e claro. Veja este exemplo:
class Musica:
musicas = []
def __init__(self, nome, artista, duracao):
self.nome = nome
self.artista = artista
self.duracao = duracao
Musica.musicas.append(self)
@classmethod
def listar_musicas(cls):
for musica in cls.musicas:
print(f'{musica.nome} | {musica.artista} | {musica.duracao}')
Esse código usa @classmethod
para indicar que o método pertence à classe, e cls
referencia a própria classe em vez de instâncias específicas.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!