Guida a Python - Corso base - Capitolo 11: Le funzioni. Parametri di input e valori restituiti in output
Capitolo 11: Definire ed utilizzare le funzioni. Parametri di input e valori restituiti in output.
Le funzioni (porzioni di codice dotate di nome, parametri in input e valori restituiti in output, richiamabili da altre parti del programma) vengono definite mediante la parola chiave:
def
secondo la seguente sintassi (attenzione all'indentazione; per il momento vedremo solo la sintassi, in seguito un esempio completo):
>>>def nomeFunzione([0, 1 o più parametri in input, separati da virgole]):
# Corpo funzione ed eventuale commento di documentazione (vd. dopo)
[return [1 o più valori da restituire in output, opzionali]]
Per richiamarle, sarà sufficiente scrivere il loro nome seguito dalle parentesi tonde (contenenti 0, 1 o più parametri, a seconda dei casi):
>>> [1 o più valori in output = ] nomeFunzione([eventuali parametri]) .
Le funzioni possono restituire 0, 1 o più valori in output:
- 0 valori, o meglio il valore None, scrivendo alla fine della funzione "return", oppure "return None", oppure pass o proprio niente, chiudendo il blocco della funzione eliminando l'indentazione);
- 1 valore, restituito con "return [valore]", da assegnare ad una variabile, ad esempio con:
>>> a = miaFunzione();
- 2 o più valori, restituiti elencandoli dopo return e separandoli con delle virgole (es.: return 'ciao', 2 ), da assegnare a 2 o più variabili separate da delle virgole:
>>> var1, var2 = miaFunzioneCon2output(); .
E' possibile specificare un "commento di documentazione" in una funzione racchiudendo del testo all'interno di una coppia di delimitatori """ (tre doppi apici); potremo accedere a tale documentazione mediante il campo __doc__ delle funzioni, per cui sarà sufficiente scrivere:
[nome funzione].__doc__
(i segni di underscore _ sono due prima di doc e due dopo doc).
Esempio 1:
>>> def somma(n): """ Stringa di documentazione. Effettua la somma dei primi (n-1) numeri e la restituisce. """ accumulatore = 0 for a in range(0, n): accumulatore = accumulatore + a return accumulatore >>> primi9numeri = somma(10) >>> print primi9numeri 45 >>> print somma.__doc__ Stringa di documentazione. Effettua la somma dei primi (n-1) numeri e la restituisce. >>>
Esempio 2:
>>> def outputMultipli(): return "Ciao", "come", "stai" >>> out1, out2, out3 = outputMultipli() >>> print out1 Ciao >>> print out1, out2, out3 Ciao come stai >>>
L'argomento delle funzioni in Python è molto vasto e le possibilità messe a disposizione da tale strumento non possono essere mostrate in un corso di base come questo; per una trattazione più approfondita, si rimanda alla documentazione ufficiale di Python.
|