Na definição do inicializador da classe Playlist são definidos dois parâmetros que são atribuídos a dois atributos diferentes, 'nome' que seria uma string e 'programas' que seria uma lista.
Como que o 'for in' consegue saber que deve iterar o atributo que recebe a lista? E caso houvesse mais de uma lista, como selecionar qual deve ser iterada?
class Playlist(list):
def __init__(self, nome, programas):
self.nome = nome
super().__init__(programas)
vingadores = Filme('vingadores - guerra infinita', 2018, 160)
atlanta = Serie('atlanta', 2018, 2)
tmep = Filme('Todo mundo em pânico', 1999, 100)
demolidor = Serie('Demolidor', 2016, 2)
vingadores.dar_like()
tmep.dar_like()
tmep.dar_like()
tmep.dar_like()
tmep.dar_like()
demolidor.dar_like()
demolidor.dar_like()
atlanta.dar_like()
atlanta.dar_like()
atlanta.dar_like()
filmes_e_series = [vingadores, atlanta, demolidor, tmep]
playlist_fim_de_semana = Playlist('fim de semana', filmes_e_series)
print(f'Tamanho da playlist: {len(playlist_fim_de_semana)}')
for programa_lista in playlist_fim_de_semana:
print(programa_lista)