Guida Didattica · Percorso Python

Funzioni

Impacchetta il tuo codice in blocchi riutilizzabili: definizione, parametri, scope e funzioni lambda.

0 di 5 passaggi completati

01Fondamenti

Cos'è una funzione?

Una funzione è un blocco di istruzioni a cui dai un nome, così da poterlo richiamare tutte le volte che serve, senza riscrivere lo stesso codice. Immagina una ricetta: la scrivi una volta, poi la "esegui" ogni volta che vuoi preparare quel piatto.

def saluta(nome):
    print(f"Ciao {nome}, benvenuto!")

saluta("Elena")   # Ciao Elena, benvenuto!
saluta("Marco")   # Ciao Marco, benvenuto!

def introduce la funzione, nome è il parametro (il "posto vuoto" da riempire), e ogni volta che chiami saluta(...) puoi passare un valore diverso.

Funzioni che restituiscono un valore

Con print() mostriamo qualcosa a schermo, ma non lo "riportiamo indietro" per usarlo altrove. Con return una funzione può restituire un risultato utilizzabile in seguito.

def somma(a, b):
    return a + b

risultato = somma(3, 5)
print(risultato)  # 8

02Concetti Chiave sulle Funzioni

📥 Parametri e argomenti▶

I parametri sono i "nomi" definiti nella funzione, gli argomenti sono i valori reali che passi quando la chiami. Puoi anche assegnare valori predefiniti ai parametri.

def presenta(nome, città="Milano"): print(f"{nome} vive a {città}")
↩️ return vs print▶

print() mostra un valore a schermo ma la funzione non lo "conserva". return restituisce il valore, permettendo di salvarlo in una variabile e riutilizzarlo.

def quadrato(n): return n * n x = quadrato(4) # x vale 16, riutilizzabile
🔍 Scope (visibilità delle variabili)▶

Una variabile creata dentro una funzione (locale) esiste solo lì dentro e scompare quando la funzione termina. Le variabili create fuori (globali) sono visibili ovunque, ma non modificabili direttamente da dentro una funzione senza istruzioni speciali.

def calcola(): x = 10 # x è locale, esiste solo qui return x print(calcola()) # 10 # print(x) → errore! x non esiste fuori dalla funzione
⚡ Funzioni lambda▶

Funzioni "usa e getta", scritte in una sola riga, utili per operazioni semplici e veloci, spesso passate come argomento ad altre funzioni.

raddoppia = lambda x: x * 2 print(raddoppia(5)) # 10
📚 Docstring e leggibilità▶

Una breve descrizione (tra triple virgolette) subito sotto def spiega cosa fa la funzione: buona pratica per rendere il codice comprensibile anche ad altri.

def somma(a, b): """Restituisce la somma di due numeri.""" return a + b

03Checklist Pratica

Spunta ogni passaggio man mano che lo completi: sbloccherai l'attestato di questa guida al termine.

Esempio per il punto 1

def benvenuto():
    print("Benvenuto al corso di Python!")

benvenuto()  # richiama la funzione
1. Scrivi una funzione senza parametriUna funzione che stampa un messaggio di benvenuto fisso, poi richiamala come nell'esempio sopra.

Esempio per il punto 2

def stampa_somma(a, b):
    print(a + b)

stampa_somma(3, 5)  # 8
2. Scrivi una funzione con parametriUna funzione che riceve due numeri e ne stampa la somma, come nell'esempio sopra.

Esempio per il punto 3

def somma(a, b):
    return a + b

risultato = somma(3, 5)
print(risultato)  # 8, ma ora il valore è riutilizzabile
3. Usa returnModifica la funzione del punto 2 per restituire il risultato con return invece di stamparlo direttamente, come sopra.

Esempio per il punto 4

raddoppia = lambda x: x * 2
print(raddoppia(5))  # 10
4. Scrivi una funzione lambdaCrea una funzione lambda che raddoppia un numero, come nell'esempio sopra, e testala con un valore diverso.
5. Completa il quiz di verificaScendi in fondo alla guida e rispondi correttamente ad almeno l'80% delle domande.

04Glossario Interattivo

Tocca ogni termine per vederne la definizione.

05Quiz di Verifica

06Esercitazioni Pratiche

Esercizio 1

Il calcolatore di area

Scrivi una funzione area_rettangolo(base, altezza) che restituisca l'area, poi stampane il risultato per almeno due rettangoli diversi.

⏱ 15 minuti📦 Funzione + 2 chiamate testate🖥️ Individuale
Esercizio 2

Il traduttore di temperatura

Scrivi una funzione celsius_in_fahrenheit(gradi) che converta i gradi Celsius in Fahrenheit (formula: F = C * 9/5 + 32) e restituisca il risultato.

⏱ 15 minuti📦 Funzione con return + test🖥️ Individuale
Esercizio 3

Trova l'errore: la variabile scomparsa

Questo codice dà errore: una funzione crea una variabile totale al suo interno, e subito dopo la funzione si prova a stampare totale fuori dalla funzione. Spiega perché non funziona, collegandolo al concetto di scope.

⏱ 10 minuti📦 Spiegazione scritta + correzione proposta🖥️ Individuale o in coppia

🎓 Attestato di completamento

Completa tutti i 5 passaggi della checklist per sbloccare il tuo attestato in PDF.

0 / 5 passaggi completati