O meu código não funciona, alguém sabe me dizer por quê
class Programa:
def __init__(self, nome, ano):
self._nome = nome.title()
self._ano = ano
self._like = 0
@property
def dar_like(self):
self._like += 1
@property
def obter_likes(self):
print(f'Esse filme tem {self._like} likes')
print(f'Essa série tem {self._like} likes')
class Filme(Programa):
def __init__(self, nome, ano, duracao):
super().__init__(nome, ano)
self._duracao = duracao
class Serie(Programa):
def __init__(self, nome, ano, temporadas):
super().__init__(nome, ano)
self.temporadas = temporadas
def print(self):
Silvio_Santos = Programa('Silvio', '2010')
Anne = Serie('Anne', 2017, 3)
filmes_e_series = [Silvio_Santos._nome, Anne._nome]
for programa in filmes_e_series:
print(f'{programa.nome} - {programa.likes}')
Quando eu tento fazer a função print ele dá:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Python38\Teste.py", line 32, in print
print(f'{programa.nome} - {programa.likes}')
AttributeError: 'str' object has no attribute 'nome'