Un decoratore in Python è una funzione che prende un’altra funzione come input e estende il comportamento di tale funzione senza modificarla esplicitamente. I decoratori forniscono un modo flessibile per migliorare o modificare il comportamento di una funzione o metodo in maniera riutilizzabile.
Un decoratore viene definito con la sintassi @nome\_decoratore prima della funzione da decorare. Ad esempio:
```
@my_decorator
def my_function():
pass
```
In questo caso, `my_decorator` è un decoratore che aggiunge o modifica il comportamento della funzione `my_function`.
Un decoratore può essere pensato come un involucro attorno alla funzione che può modificare il suo comportamento.