Oi, Marcos!
Seu código tá bem estruturado e mostra uma boa compreensão da criação de classes e uso do timedelta para representar durações. A ideia de converter o tempo total em segundos usando total_seconds() é uma abordagem boa.
O que você pode testar fazer mais pra frente é usar o método __str__ para personalizar a forma como os objetos são exibidos ao serem impressos.
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})"
Com isso, ao usar print(musica_garota_ipanema), a saída será formatada de maneira mais legível.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!