Decorators Usage
Lição 5 de 12 do curso Decoradores em Python da Coddy.
Em Python, um decorator é uma função que recebe outra função como entrada e estende o comportamento da função de entrada sem modificar explicitamente seu código. Decorators são uma maneira poderosa de modificar ou aprimorar o comportamento de funções de uma forma flexível e reutilizável.
Aqui está um exemplo de uma função decorator simples:
def my_decorator(func):
def wrapper():
print("Before the function is called.")
func()
print("After the function is called.")
return wrapperNeste exemplo, a função my_decorator recebe outra função func como entrada e retorna uma nova função chamada wrapper.
A função wrapper adiciona algum comportamento antes e depois da função func ser chamada.
Desafio
FácilEscreva uma função decoradora chamada debug que recebe uma função func como entrada e retorna uma nova função que imprime o nome de func e o valor de retorno de func toda vez que ela for chamada.
Para obter o nome de
func, usefunc.__name__.
Aqui está um exemplo do uso do decorador debug:
def hello():
return "Hello"
debug_hello = debug(hello)
debug_hello()Neste exemplo, estamos usando o decorador debug para envolver a função hello e criar uma nova função chamada debug_hello. Quando chamamos debug_hello(), o decorador imprimirá:
Calling hello
hello returned: HelloVocê pode assumir que todas as funções passadas para
debugsão funções sem argumentos.
Experimente você mesmo
Todas as lições de Decoradores em Python
Pratique por conta própria: Compilador de Python online