Impacchetta il tuo codice in blocchi riutilizzabili: definizione, parametri, scope e funzioni lambda.
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.
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
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.
print() mostra un valore a schermo ma la funzione non lo "conserva". return restituisce il valore, permettendo di salvarlo in una variabile e riutilizzarlo.
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.
Funzioni "usa e getta", scritte in una sola riga, utili per operazioni semplici e veloci, spesso passate come argomento ad altre funzioni.
Una breve descrizione (tra triple virgolette) subito sotto def spiega cosa fa la funzione: buona pratica per rendere il codice comprensibile anche ad altri.
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
Esempio per il punto 2
def stampa_somma(a, b): print(a + b) stampa_somma(3, 5) # 8
Esempio per il punto 3
def somma(a, b): return a + b risultato = somma(3, 5) print(risultato) # 8, ma ora il valore è riutilizzabile
Esempio per il punto 4
raddoppia = lambda x: x * 2 print(raddoppia(5)) # 10
Tocca ogni termine per vederne la definizione.
Scrivi una funzione area_rettangolo(base, altezza) che restituisca l'area, poi stampane il risultato per almeno due rettangoli diversi.
Scrivi una funzione celsius_in_fahrenheit(gradi) che converta i gradi Celsius in Fahrenheit (formula: F = C * 9/5 + 32) e restituisca il risultato.
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.
Completa tutti i 5 passaggi della checklist per sbloccare il tuo attestato in PDF.