Olá, pensando que a verificação do nome pode ficar bem grande e/ou que alguém pode setar o nome com padrões diferente estou tentando já o init chamar a funçao set_nome. É possível isso? Fiz o seguinte código. Não deu erro, mas o nome foi setado como None:
class Filme:
def __init__(self,nome,ano,duracao, likes):
self.__nome = self.set_nome(nome)
self.ano = ano
self.duracao = duracao
self.__likes = likes
@property
def likes(self):
return self.__likes
def dar_likes(self):
self.__likes += 1
@property
def nome(self):
return self.__nome
#@nome.setter
def set_nome(self, nome):
self.__nome = nome.title()
vingadores = Filme("vingadores - Guerra infinta", 2017, 160, 0)
print(f"Nome do filme: {vingadores.nome} - Ano de produção: {vingadores.ano}")
saída:
Nome do filme: None - Ano de produção: 2017