1
resposta

playlist_fim_de_semana

Porque não tem como fazer print na variavel playlist_fim_de_semana e da para fazer no for. Tentei fazer o list compreension e não deu certo também.

filmes_e_series=[maluco_no_pedaco,vingadores,gente_grande,apenas_um_show]
playlist_fim_de_semana=Playlist('Assistir final de semana',filmes_e_series)
printar=[i for i in playlist_fim_de_semana]
print(printar)
1 resposta

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!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software