×

Guida completa a Python

Guida completa a Python

📘 Capitolo 6 – Funzioni in Python

1. Cosa sono le funzioni?

Le funzioni sono blocchi di codice che puoi dare un nome e richiamare quando vuoi, anche più volte.

def saluta():
print("Ciao! Benvenuto in Python.")

saluta() # Chiama la funzione

2. Parametri e Argomenti

Puoi passare informazioni alla funzione tramite parametri.

def saluta_persona(nome):
print(f"Ciao {nome}!")

saluta_persona("Luca")

Output:

Ciao Luca!

3. Valori di ritorno (return)

Le funzioni possono restituire un valore con return.

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

risultato = somma(3, 5)
print("Risultato:", risultato) # ➝ 8

4. Parametri opzionali e predefiniti

def saluta(nome="amico"):
print(f"Ciao {nome}!")

saluta() # ➝ Ciao amico!
saluta("Giulia") # ➝ Ciao Giulia!

5. Scope: variabili locali vs globali

def prova():
x = 10 # locale
print(x)

x = 5 # globale
prova()
print(x) # ➝ 5, la x dentro `prova()` è separata

6. Funzioni con più valori di ritorno

def info_persona():
return "Luca", 30

nome, eta = info_persona()

7. Funzioni anonime: lambda

Funzioni brevi in una riga, spesso usate come argomenti.

quadrato = lambda x: x * x
print(quadrato(4)) # ➝ 16

Esempio pratico: modularizzare un’app

Prendiamo il menu di gestione nomi di prima e usiamo funzioni per ogni azione:

def aggiungi_nome(nomi):
nome = input("Nome da aggiungere: ").strip().capitalize()
if nome not in nomi:
nomi.append(nome)
print(f"✅ '{nome}' aggiunto!")
else:
print(f"⚠️ '{nome}' è già presente.")

def rimuovi_nome(nomi):
nome = input("Nome da rimuovere: ").strip().capitalize()
if nome in nomi:
nomi.remove(nome)
print(f"🗑️ '{nome}' rimosso.")
else:
print(f"❌ '{nome}' non trovato.")

# Altre funzioni: cerca_nome(), mostra_nomi(), menu(), ecc.

In questo modo il codice è:

  • Più chiaro
  • Più riutilizzabile
  • Più facile da manutenere

🧪 Esercizio pratico

Creare una funzione che:

  1. Prende un numero come parametro
  2. Ritorna True se è pari
  3. Ritorna False se è dispari

Soluzione in Python

def verifica_pari(n):
return n % 2 == 0

# Esempi di utilizzo
print(verifica_pari(4)) # ➝ True
print(verifica_pari(7)) # ➝ False

Spiegazione:

  • n % 2 == 0 ➝ restituisce True se il resto della divisione per 2 è 0, quindi il numero è pari.
  • La funzione restituisce direttamente il risultato della condizione logica!

Versione con interazione utente

def verifica_pari(n):
return n % 2 == 0

numero = int(input("Inserisci un numero: "))

if verifica_pari(numero):
print("✅ È un numero pari.")
else:
print("🔹 È un numero dispari.")

Pagine: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19