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()