[PIPython] fiunzioni

Maurizio Brilli mbrilli
Ven 19 Nov 2004 15:16:53 CET


mario rossi ha scritto:

> Bene, ho capito che def significa 'definisci'
> mult è il nome della funzione ( nome che posso dare io
> a mio piacimento?)
Esatto.

> Questo è il programma esempio:
> def mult (a,b):
>     if b == 0:
>         return 0
>     rest = mult (a,b -1)
>     value = a + rest
>     return value
> print " 3*2 = ",mult (3,2)
> 
> 
> Allora... abbiamo definito una funzione con il nome
> mult e dato due 
> parametri a,b; con  : identiamo.
> Poi riga successiva if b == 0: (significa se b è
> uguale a 0) torna a 0??

No, significa: restituisci 0. Le funzioni possono eseguire del codice 
(come ad esempio una funzione per stampare del testo) oppure possono 
eseguire dei calcoli o altre operazioni e restituire un risultato.
La parola chiave per uscire dalla funzione è, appunto, return (seguito 
eventualmente dal valore che vuoi restituire).

> Mi fermo quà perchè credo di non avere capito il
> concetto di "creare 
> funzioni".
> Ho eseguito il programma e il risultato è stato:
> 3*2 =6.
> Potreste spiegarmi il concetto in parole povere? mi
> sono arenato.!!!!!

La funzione mult esegue la moltiplicazione dei valori dei due parametri 
e restituisce il risultato. Ovviamente, sarebbe bastato un semplice 
"return a*b", ma non sarebbe stato molto utile per imparare, non trovi?
Quindi la funzione riproduce tutti i passaggi che vengono eseguiti per 
moltiplicare un valore per un altro.
Inoltre, ti spiega che puoi eseguire una funzione in modo ricorsivo da 
dentro la funzione stessa (vedi la riga "rest = mult (a,b -1)").
Non ti racconto il dettaglio delle singole righe, perché adesso dovresti 
essere in grado di seguire da solo il flusso del programma.

Ciao
Maurizio



More information about the Python mailing list