Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

problema com @nome.setter

o meu código apresenta um problema ao rodar:

NameError: name 'nome' is not defined

não tenho ideia do que seja esse erro nem como resolver isso

class Filme():
    def __init__(self, nome, ano, duracao):
        self.__nome = nome.title()
        self.ano = ano 
        self.duracao = duracao
        self.__like = 0

    @property        
    def like(self):
        return self.__like

    @nome.setter
    def nome(self, novo_nome):
        self.__nome = novo_nome
2 respostas
solução!

Oi Felipe, tudo bem?

Este erro está ocorrendo porque você declarou apenas o @nome.setter e esqueceu de declarar o @property do nome. Sempre que você utilizar uma propriedade de setter, obrigatoriamente terá que definir um @property para este setter, já o contrário não tem obrigatoriedade, ou seja, você pode ter um @property, mas não necessariamente precisa de ter um @setter para ele. Então, basta que você adicione em sua classe Filme:

@property
def nome(self):
    return self.__nome

Qualquer dúvida é só falar. Abraços e bons estudos!

TOP mto obrigado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software