Argomenti trattati:

  • Funzioni
    • Passaggio oggetti mutabili ed immutabili.
    • Visibilità e ricerca dei simboli.
    • global e nonlocal.
    • Funzioni annidate.
    • Parametri opzionali.
    • Passaggio posizionale o per chiave, dei parametri.

Materiale didattico:

Consigli:

  • 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.