Olá José, tudo bem com você?
Peço desculpas pela demora no retorno.
Meus parabéns pela implementação, indo além do proposto na atividade. É importante lembrar que não existe uma única forma correta de implementar um código, e sim diversas maneiras de se chegar ao mesmo resultado. Sua segunda implementação adicionando o método __str__ de fato deixa o código mais Pythonico e atende bem a proposta.
No exemplo da classe Playlist ao adicionar a herança de list, podemos adicionar uma complexidade a mais a classe Playlist, ao utilizarmo o built-in — uma classe que já está pronta no sistema, porque não sabemos as exceções que ela possui. Por exemplo, list pode conter um método que permita o acesso a algum de seus itens, e ele pode ser protegido, por algum motivo.
Na próxima aula: Fugindo da complexidade, será apresentado uma abordagem de implementação da classe Playlist sem o uso da herança de classe.
Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Em caso de dúvidas estou à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!