python creare decoratori code example

Example 1: python creare decoratori

def mia_funzione(): 
    print("Hello World!") 
    
>>> print(mia_funzione.__name__)
mia_funzione

Example 2: python creare decoratori

@funzione_decoratore
def mia_funzione(): 
    print("Hello World!") 

mia_funzione()
# output:

... codice da eseguire prima di funzione_parametro ...
hello world!
... codice da eseguire dopo di funzione_parametro ...

Example 3: python creare decoratori

def funzione_decoratore(funzione_parametro): 
    def wrapper(): 
        """ nome convenzionale - wrapper significa 'incarto, confezione' """
        print("... codice da eseguire prima di 'funzione_parametro' ...") 					
        funzione_parametro()
        print("... codice da eseguire dopo di 'funzione_parametro' ...") 
    return wrapper

def mia_funzione(): 
    print("Hello World!")

Example 4: python creare decoratori

mia_funzione = funzione_decoratore(mia_funzione) 

mia_funzione()
# output:

... codice da eseguire prima di funzione_parametro ...
Hello World!
... codice da eseguire dopo di funzione_parametro ...