Um decorador em Python é uma função que recebe outra função como argumento e retorna outra função. Os decoradores podem ser extremamente úteis, pois permitem a extensão de uma função existente, sem nenhuma modificação no código-fonte da função original.
Quando você deve usar um decorador?
Decoradores são usados para qualquer coisa que você queira "embrulhar" de forma transparente com funcionalidade adicional. O Django os usa para agrupar a funcionalidade "login obrigatório" em funções de visualização, bem como para registrar funções de filtro. Você pode usar decoradores de classe para adicionar logs nomeados a classes.
Onde podemos usar decoradores em Python?
Decorators são ferramentas muito poderosas e úteis em Python, pois permite que os programadores modifiquem o comportamento da função ou classe. Decoradores nos permitem encapsular outra função para estender o comportamento da função encapsulada, sem modificá-la permanentemente.
Por que devemos usar o decorador Python com mais frequência?
Python Decorator é uma ferramenta poderosa que pode nos ajudar a manipular a funcionalidade de uma função, um método de teste apenas adicionando @decorator_name. … Funções em Python também podem receber outra função como entrada e retornar outra função. Esta técnica é chamada de função de ordem superior.
Quais são as vantagens dos decoradores?
Vantagens do Padrão de Design do Decorador
- Issoé flexível que a herança porque a herança adiciona responsabilidade em tempo de compilação, mas o padrão decorador adiciona em tempo de execução.
- Podemos ter qualquer número de decoradores e também em qualquer ordem.
- Estende a funcionalidade do objeto sem afetar nenhum outro objeto.