
Come creare una funzione in Python
In questa lezione del corso Python ti spiego come si crea una funzione nel linguaggio Python
Cos'è una funzione? E' un blocco di codice che esegue un compito specifico e puoi richiamarlo più volte all'interno del programma principale. Ti permette di avere un programma più ordinato, compatto e facile da leggere.
In Python, le funzioni sono definite usando la parola chiave "def"
def nome_funzione(argomenti):
# codice della funzione
return valore_di_ritorno
La funzione ha queste caratteristiche
- la funzione deve avere un nome univoco
- può accettare degli argomenti in entrata (input) tra parentesi tonde che utilizza durante l'esecuzione del blocco di codice
- il codice all'interno della funzione devi digitarlo iniziando da una posizione più a destra rispetto alla definizione della funzione (indentazione)
- la funzione restituisce un valore di ritorno (output) tramite l'istruzione return.
Nota. La funzione può anche non ricevere argomenti in input. In questo caso devi comunque indicare le parentesi tonde dopo il nome. Inoltre, la funzione può anche non restituire nulla come valore di ritorno. Quindi l'istruzione return può anche mancare. Ad esempio, puoi usare la funzione semplicemente per stampare qualcosa sullo schermo.
Ti faccio un esempio pratico
Definisci una funzione che accetta due valori in entrata e li assegna alle variabili locali a, b
- # definizione della funzione
- def somma(a,b):
- risultato=a+b
- return risultato
La funzione somma i due valori a,b e assegna la somma alla variabile risultato.
Infine, restituisce il risultato al programma chiamante.
A questo punto aggiungi una chiamata alla funzione somma() in cui gli passi i valori 2 e 3
- # definizione della funzione
- def somma(a,b):
- risultato=a+b
- return risultato
- # prima chiamata
- s = somma(2,3)
- print(s)
Quando esegui il programma, la funzione somma() viene chiamata con gli argomenti a=2 e b=3, restituendo 5 come risultato.
Quindi, il programma principale stampa il risultato sullo schermo
5
Ora aggiungi un'altra chiamata alla funzione in cui passi alla funzione somma() i valori a=4 e b=5
- # definizione della funzione
- def somma(a,b):
- risultato=a+b
- return risultato
- # prima chiamata
- s = somma(2,3)
- print(s)
- # seconda chiamata
- s = somma(4,5)
- print(s)
In questo caso la funzione viene chiamata due volte.
- Nella prima chiamata somma(2,3) la funzione restituisce 5
- Nella seconda chiamata somma(4,5) la funzione restituisce 9
Quindi, l'output del programma è
5
9
L'utilizzo delle funzioni ti permette di scrivere il codice una sola volta e richiamarlo solo quando ti serve.
In questo modo eviti di scriverlo più volte.
Nota. Se in futuro vorrai modificare il codice del programma, ad esempio per calcolare la differenza anziché la somma, ti basterà modificare una sola volta la funzione.
Leggi anche le altre lezioni della nostra guida Python.