class filme:
def __init__(self, nome, ano, duracao):
self.__nome = nome.title()
self.ano = ano
self.duracao = duracao
self.__likes = 0
def ficha(self):
print(f'FILME: {self.__nome} - ANO: {self.ano} - DURAÇÃO: {self.duracao} min')
print(f'{self.__likes} likes')
@property
def likes(self):
return self.__likes
@property
def nome(self): #função 1
return self.__nome
@nome.setter #função 2
def nome(self, nome):
print('Alterando nome...')
self.__nome = nome
def dar_likes(self):
self.__likes += 1
O "@nome.setter" não está funcionando, ocasionando um erro no código. Este é o seguinte erro:
soul.altNome('Divertidamente')
Traceback (most recent call last): File "", line 1, in TypeError: 'str' object is not callable
Acredito que este erro se dá por o "nome" de "@nome.setter"(função 1) não estar se ligando ao "nome" de sua função (função 2), mas sim a da função acima (função 1), "@property", pois quando coloco o mouse em cima de "@nome.setter" fica destacado "nome" da função de cima (função 1).