Sigo com este erro 'Table' object is not callable, podem me ajudar?
from msilib.schema import Property
class Programa:
def __init__(self, nome, ano):
self._nome = nome.title()
self.ano = ano
self._likes = 0
@property
def likes(self):
return self._likes
def dar_like(self):
self._likes += 1
@property
def nome(self):
return self._nome
@nome.setter
def nome(self, novo_nome):
self._nome = novo_nome.title()
def __str__(self):
return (f'Nome: {self._nome} - Ano: {self.ano} - Likes: {self._likes}')
#-----------------------------------------------------------
class Filme(Programa):
def __init__(self, nome, ano, duracao):
super().__init__(nome, ano)
self.duracao = duracao
def __str__(self):
return (f'Nome: {self._nome} - Ano: {self.ano} - {self.duracao} min - Likes: {self._likes}')
#-----------------------------------------------------------
class Serie(Programa):
def __init__(self, nome, ano, temporadas):
super().__init__(nome, ano)
self.temporadas = temporadas
def __str__(self):
return (f'Nome: {self._nome} - Ano: {self.ano} - {self.temporadas} Seasons - Likes: {self._likes}')
#------------------------------------------------------------
class Playlist(list): #HERANÇA
def __init__(self, nome, programas):
self.nome = nome
self._programas = programas
@Property
def listagem(self):
return self._programas
@Property
def tamanho(self):
return len(self._programas)
def __getitem__(self, item): #magicmethod - ducktyping
return self._programas[item]
vingadores = Filme('vingadores', 2018, 160 )
tlr1 = Filme('O senhor dos aneis: sociedade do anel', 2000, 300)
peakblinders = Serie("Peaking Blinders", 2020, 5)
breaking_bad = Serie('breaking bad', 2018, 2)
vingadores.dar_like()
breaking_bad.dar_like()
filmes_e_series = [vingadores, breaking_bad,peakblinders,tlr1]
playlist_fim_de_semana = Playlist('fim de semana', filmes_e_series)
print(f'Tamanho do playlist: {len(playlist_fim_de_semana.listagem)}')
for programa in playlist_fim_de_semana:
print(programa)
line 57, in def listagem(self): TypeError: 'Table' object is not callable