Oi, Thaís! Como vai?
Gostei da forma como você organizou a classe Musica e utilizou a lista musicas para armazenar as instâncias criadas. O método __str__ também ficou muito bem aplicado para deixar a exibição das informações mais legível. Sua implementação mostra um bom entendimento sobre construtores e atributos de classe em Python.
Uma dica interessante para o futuro é utilizar o decorator @classmethod em métodos que trabalham diretamente com atributos da classe. Isso deixa o código mais organizado e facilita a manutenção.
class Musica:
musicas = []
@classmethod
def listar_musicas(cls):
for musica in cls.musicas:
print(f'{musica.nome} | {musica.artista}')
Nesse exemplo, o cls representa a própria classe e permite acessar os atributos compartilhados entre todas as instâncias.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!