Oi Eric, blz?
O print na verdade chama a função repr e não a função str conforme dito na aula 03 do curso Python: avançando na orientação a objetos.
O código irá funcionar se você fizer um for comum no lugar de um list compreension. Dessa forma o Python irá verificar se a função str está implementada em sua classe (e ela precisa estar para funcionar o exemplo abaixo):
for i in playlist_fim_de_semana:
print(i)
No entanto quando você faz um list compreension o python chama por padrão a funçao repr e não a str conforme acima.
Então, caso precisar utilizar o list compreension, basta converter seu operador em string, assim o Python irá atribuir uma string à lista, e não o endereço de memória daquele objeto.:
printar=[str(progama) for progama in playlist_fim_de_semana]
print(printar)
Espero ter ajudado!