Olá Thiago, tudo bem com você?
O decorator @property corresponde a função property() do python, quando usamos ela como decorator estamos adicionando funcionalidades “especiais” a um método, fazendo ele agir como getters ou setters sem precisar mudar sua sintaxe.
Para usarmos o @property temos que seguir algumas regras.
- Podemos trabalhar com apenas o @property, ou seja apenas com um método que retorna algo (getter).
 - Para termos um método do tipo setter, temos que ter declarado antes um método do tipo @property.
 
Agora analisaremos a classe Livro, após realizarmos a definição do atributo __nome como um atributo privado será necessário criarmos os métodos com os decoradores para acessarmos o atributo, como apresentado no código. 
Como o nome do método e o nome do atributo são os mesmo, farei a adição de dois prints para informar de onde vem o resultado da nossa operação. O código ficará da seguinte forma.
class Livro:
    def __init__(self, nome):
        self.__nome = nome
    @property
    def nome(self):
        print("Acessando nome pelo @property")
        return self.__nome
    @nome.setter
    def nome(self, nome):
        print("Mudando o nome pelo @nome.setter")
        self.__nome = nome
livro1 = Livro("Harry Potter")
print(livro1.nome)
livro1.nome = "Animais fantástico"
print(livro1.nome)
Resultado
Acessando nome pelo @property
Harry Potter
Mudando o nome pelo @nome.setter
Acessando nome pelo @property
Animais fantástico
Note que nesse momento o atributo está sendo acessado pelo método, não diretamente, é imprimido a mensagem Acessando nome pelo @property, mensagem essa presente no método nome. O mesmo acontece quando utilizamos o método com o decorator @nome.setter.
O uso do decorato @property permite-nos acessarmos um método como um atributo de um objeto. Devido o nome do método e o nome do atributo serem iguais, podemos ter a impressão de que estamos acessando um atributo diretamente. 
Para saber um pouco mais sobre o uso dos @property, recomendo a leitura dos seguintes artigos que abordam sobre como utilizar e onde fazer o uso dos @property.
Os artigos acima estão em inglês, caso tenha dificuldade com o idioma recomendo o uso do tradutor do navegador.
Caso tenha dúvidas, encontro à disposição.
Abraços e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!