Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

TypeError: 'str' object is not callable

trecho do código com o setter

@nome.setter
    def nome(self, novo_nome):
        self.__nome = novo_nome.title()

trecho do código com as atribuições

filme1 = Filme("Vingadores", 2018, 160)
print(f"Filme: {filme1.nome} - Ano: {filme1.ano} - Duração: {filme1.duracao} - Likes: {filme1.likes}")
filme1.nome("novo nome")

mensagem de erro

filme1.nome("novo nome") TypeError: 'str' object is not callable

1 resposta
solução!

A forma correta de usar um setter definido por (usando sua classe de exemplo) `@nome.setter` é usando como se você estivesse chamando o atributo normalmente

filme1.nome = "novo nome"

Da mesma forma quando você usa um @property, você não chama como uma função, tipo filme1.nome(). Você chama como uma atributo filme1.nome sem os parenteses.