class Programa:
def __init__(self, nome, ano):
self._nome = nome.title()
self.ano = ano
self._likes = 0
@property
def nome(self):
return self._nome
@property
def likes(self):
return self._likes
def like(self):
self._likes += 1
class Filme(Programa):
def __init__(self, nome, ano, diretor):
super().__init__(nome, ano)
self.diretor = diretor
class Serie(Programa):
def __init__(self, nome, ano, criador):
super().__init__(nome, ano)
self.criador = criador
pulp_fiction = Filme("pulp fiction", 1994, "Quentin Tarantino")
pulp_fiction.like()
breaking_bad = Serie("breaking bad", 2008, "Vince Gilligan")
breaking_bad.like()
breaking_bad.like()
playlist = [Filme, Serie]
for programa in playlist:
detalhes = programa.criador if hasattr(programa, "criador") else programa.diretor
print(f"{programa.nome} - {detalhes} : {programa.likes}")
Quando vou rodar o código me aparece a mensagem:
File "C:\Users\pmelo\PycharmProjects\pythonProject\projects\oo2\model.py", line 39, in <module>
detalhes = programa.criador if hasattr(programa, "criador") else programa.diretor
AttributeError: type object 'Filme' has no attribute 'diretor'