decoratori python

decoratori python sono delle funzioni che ti permettono di eseguire dei blocchi di codici prima è dopo che venga eseguito il blocco di codice di un a un’altra funzione target
Esempio 1

def funzione_decoratore(funzione):
    def funzione_prima_dopo():
        print("codice che viene eseguito prima della funzione_target")
        funzione()
        print("codice che viene eseguito dopo della funzione_target")
    return funzione_prima_dopo

@funzione_decoratore
def funzione_target():
    print("codice della funzione target")

funzione_target()

Nota è possibile testare il codice direttamente tramite CMD

decoratori python sono delle funzioni che ti permettono di eseguire dei blocchi di codici prima è dopo che venga eseguito il blocco

Descrizione:

  • def funzione_decoratore(funzione): – Definisco una funzione nominata funzione_decoratore , con una variabile o metodo nominato funzione.
  • def funzione_prima_dopo(): – Definito una altra funzione nominata funzione_prima_dopo da notare che gli spazzi vuoti fano si che questa funzione si trovi dentro il blocco di codice della funzione_decoratore
  • print()
  • return funzione_prima_dopo – in questo caso esegue il blocco di codice dentro la funzione funzione_prima_dopo e ritorna come il valore che genera tale funzione
  • @funzione_decoratore – questa e la parte interessante del articolo decoratori python, quando scrivo questo codice al inizio di ogni funzione si va a decorare tale funzione nel mio caso la funzione_target , Nota

Esempio 2

def mario(funzione):
    def saluta():
        print("Ciao sono Mario")
        funzione()
        print("Piacere di conoserti")
    return saluta

@mario
def lucia():
    print("ciao sono lucia")

@mario
def ben():
    print("ciao sono Ben")

lucia()
ben()
decoratori python sono delle funzioni che ti permettono di eseguire dei blocchi di codici prima è dopo che venga eseguito il blocco

Descrizione:

L’esempio 2 e simile al es.1 cambiano solo i nominativi dei vari metodi per farvi capire il blocco di codice non e vincolato da nominativi particolari. Tutto si può personalizzare. Da notare la decorazione @mario che viene messo prima di ogni funzione che voglio decorare . Il risultato come si vede nella screen sono i messaggi : Ciao sono Mario, ciao sono Lucia ecc.

Pubblicità