Oi, Apollo. Como vai?
Sua refatoração usando a classe Musica ficou bem organizada, e o uso do método __init__ ajuda a criar objetos com nome, artista e duracao de forma mais limpa.
Uma dica interessante para o futuro é usar o método __str__ para controlar o texto exibido ao usar print(musica1). Olha esse exemplo:
class Musica:
def __init__(self, nome, artista, duracao):
self.nome = nome
self.artista = artista
self.duracao = duracao
def __str__(self):
return f'{self.nome} - {self.artista} ({self.duracao} segundos)'
Esse método retorna uma descrição personalizada do objeto, evitando que o Python mostre apenas a referência da memória. Você pretende testar esse ajuste com as três músicas criadas?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!