Le funzioni annidate sono utili per implementare piccole sotto-funzionalità, facenti sempre parte della funzione più esterna(‘principale’).
È sconsigliato l’utilizzo di global e nonlocal, salvo in casi come quello citato al punto precedente, o per stretta necessità; l’utilizzo di tali costrutti crea forte accoppiamento(legame stretto) tra il codice di una funzione, e quello definito esternamente, andando contro i principi di modularità, che una funzione dovrebbe rispettare, e rendendone, il codice, poco riutilizzabile (Riferimenti utili).
Utilizzare i parametri opzionali solo se la logica della funzione prevede che quest’ultima possa operare, sia su valori predefiniti, che personalizzati.
Si ricorda che, degli oggetti mutabili, passati come parametro ad una funzione, l’interprete passerà solo il riferimento, e non la copia; è opportuno segnalare, nella DocString della funzione, eventuali modifiche apportate, da quest’ultima, agli oggetti in input.
Esercizi per casa:
Completare gli esercizi assegnati nelle precedenti lezioni.