class Filme:
def __init__(self, name, year, director):
self.__name = name
self.year = year
self.director = director
self.__likes = 0
@property
def name(self):
return self.__name
@name.setter
def name(self, new_name):
self.name = new_name
@property
def dar_likes(self):
self.__likes += 1
def likes(self):
return self.__likes
class Serie:
def __init__(self, name, year, seasons):
self.__name = name
self.year = year
self.seasons = seasons
self.__likes = 0
@property
def name(self):
return self.__name
@name.setter
def name(self, new_name):
self.name = new_name
@property
def likes(self):
return self.__likes
def dar_likes(self):
self.__likes += 1
batman = Filme('Batman', 2008, 'João')
unbeliavable = Serie('Unbeliavable', 2011, 1)
batman.dar_likes()
print('Nome: {}, Ano: {}, Diretor: {}, Likes: {}'. format(batman.name, batman.year, batman.director, batman.likes()),
'e Nome: {}, Ano: {}, Temporadas: {}'.format(unbeliavable.name, unbeliavable.year, unbeliavable.seasons))
print(batman.likes)
Pessoal, tudo bem? Criei essas linhas de código para treinar as lições passadas, mas estou com uma dúvida. Quando chamo o método batman.dar_likes com () o prompt retorna esse erro: Se eu chamo apenas batman.dar_likes sem os (), o programa roda normalmente e apresenta o atributo Likes como 1.
O contrário acontecer para o print do batman.likes. Se eu uso (), ele me devolve o valor do atributo. Porém, sem os (), o prompt apresenta o endereço na memória: Acompanhando os vídeos e o código do curso, o professor chama o método dar_likes com () e o getter likes sem (). O que pode estar acontecendo? Conseguem me ajudar?
abs, João