L'istruzione def in python

Nel linguaggio python l'istruzione def mi permette di definire una funzione.

def nomefunzione(argomenti):
blocco istruzioni
return

La funzione prende in input gli eventuali argomenti passati durante la chiamata della funzione ( fase 1 ).

Elabora il blocco di istruzioni indentato al suo interno.

il funzionamento di una funzione nel linguaggio python

Poi, eventualmente restituisce il risultato dell'elaborazione tramite l'istruzione return ( fase 2 ).

Nota. Le variabili locali usate dentro la funzione sono separate da quelle globali del programma che richiama la funzione.

Un esempio pratico

Nelle prime tre righe di questo script creo una funzione per calcolare la media di due valori.

  1. def media(a,b):
  2. c=(a+b)/2
  3. return c
  4. n1=10
  5. n2=20
  6. print(media(n1,n2))

Quando eseguo lo script, l'interprete python crea la funzione ed elabora il codice a partire dalla riga 4.

Il programma assegna due valori numerici ( 10 e 20 ) alle variabili n1 e n2.

Poi richiama la funzione media(n1,n2) e stampa il risultato sullo schermo

15.0

E' un esempio pratico di utilizzo della funzione def.

Come passare i parametri alla funzione

Gli argomenti della funzione vanno indicati tra parentesi dopo il nome della funzione, separati tra loro da una virgola.

Non c'è un limite al numero degli argomenti in input.

def nome(arg1,arg2):
...
return x

A cosa servono?

Sono i valori in input (entrata) che lo script invia alla funzione quando la invoca.

il passaggio dei parametri alla funzione

Questi valori sono assegnati a variabili locali che operano soltanto dentro la funzione.

La differenza tra variabili locali e variabili globali. Le variabili locali della funzione possono anche avere lo stesso nome delle variabili globali. In questo caso però le eventuali variazioni apportate durante l'esecuzione della funzione non sono registrate anche nelle omonime variabili globali. Ecco un esempio pratico. Lo script assegna alla variabile globale (a) il valore 10. Poi invoca la funzione che cambia il valore della variabile locale (a) da 10 a 30. Quando il controllo torna allo script la variabile globale (a) vale ancora 10. Le variazioni apportate nella funzione non sono state registrate.
la differenza tra variabili globali e locali di una funzione

Gli argomenti sono facoltativi o obbligatori?

Gli argomenti in input della funzione sono parametri facoltativi.

Se la funzione non ha argomenti in input, vanno comunque inserite le parentesi tonde di apertura e chiusura senza indicare nulla dentro.

def nome():
...
return x

L'istruzione return

L'istruzione return mi consente di restituire un'informazione di ritorno (return) dalla funzione allo script.

def nome():
...
return x

A cosa serve?

Le variabili locali della funzione operano in un ambiente separato da quelle dello script.

Per inviare un dato dalla funzione allo script, devo usare necessariamente l'istruzione return.

un esempio di restituzione di un dato di ritorno dalla funzione alla script

Nota. L'istruzione return è comunque facoltativa. Posso creare una funzione anche senza usarla. Se la funzione non deve restituire un valore, al termine dell'esecuzione il controllo di flusso torna automaticamente allo script che l'ha invocata.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Le funzioni in python