Link

Decorator com Python.

O Decorator são utilizados para alterar o comportamento de uma função ou classe sem precisar alterá-la, simplesmente adicionando um @nomeDecorator.

O Decorator pode ser comparado com um Interceptor no mundo Web, onde interceptamos a requisição antes de executar o método.

Muito útil para criação de validação de campos como CPF, RG, Telefone, Idade, Nome, entre outros, sem precisar alterar o método principal.

Outra coisa legal é utilizar o Decorator para deixar seu código mais limpo, umas vez que você desacopla partes do código do método.

Por trabalhar com Clojures, ou seja, funções dentro de funções, o retorno será a própria função.

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/pyDecorator.html.