Mettiamo a punto alcuni dettagli sulle funzioni: funzioni senza
return o con return senza espressione.
Vediamo anche come inserire una stringa di documentazione nella
funzione. In questo contesto vediamo le stringhe multilinea (ovvero
quelle aperte e chiuse da tre apici o virgolette).
Approfondiamo sulle tuple. A proposito di tuple cosa succede in questi
quattro assegnamenti? Questo fenomeno è lo spacchettamento di tuple.
t = (-121,"ciao","posizione 2",293)
x0 = t # è quello che volevi?
x0,x1 = t # no
x0,x1,x2 = t # no
x0,x1,x2,x3 = t # si
In python è possibile che una funzione restituisca più valori
insieme (ad esempio restituisca una coppia o una tripla di valori).
Questo si può fare restituendo una tupla, magari
poi spacchettandola. Ad esempio:
def divresto(N,d):
quoziente = N // d
resto = N % d
return quoziente, resto
x,y = divresto(12,7)
print(x,y)
x,y = divresto(21,5)
print(x,y)
1 5
4 1
Qui la funzione restituisce due numeri (usando la sintassi return
expr1,expr2). L'espressione divresto(21,5) per esempio
restituisce la coppia di numeri 4 e 1. Il numero 4 viene assegnato
ad x, mentre il numero 1 viene assegnato a y. Vediamo come
restituire None nel caso di divisore uguale a 0. E se
restituissimo math.nan.
Se avanza tempo vediamo le funzioni
random.randint(a,b)
random.random()
random.gauss()
Materiale didattico
Indentazione: (schermo|stampa)
Lavoro assegnato: rivedere gli esercizi della scorsa esercitazione
e provare a completarla scrivendo funzioni per ogni esercizio.
Le funzioni dovrebbero
- ricevere i dati attraverso i parametri
- restituire il risultato attraverso
return
La lettura di parametri da tastiera e la stampa a video dei
risultati non deve essere all'interno della funzione che
risolve l'esercizio.
Rivedere le sezioni 3.11 e 6.2
Rivedere le sezioni Debug, Glossario, Esercizi dei capitoli 1,
2, e 3 del libro di testo.