CORSO INTRODUTTIVO PYTHON – 05

  • Pubblicato
  • Aggiornato
  • 5 minuti di lettura

Introduzione al Progetto

In questa lezione esploreremo uno dei concetti più importanti della programmazione: le funzioni. Le funzioni sono blocchi di codice che puoi definire una volta e riutilizzare più volte nel tuo programma. Questo rende il codice più modulare, leggibile e facile da mantenere.

Sommario

Soluzioni esercizi lezione 04

				
					#esercizio 1
nomi = ["Alice", "Luca", "Marco", "Anna"]
lettera = input("Inserisci una lettera: ")

for nome in nomi:
    if nome.startswith(lettera):
        print(nome)

				
			
				
					#esercizio 2
studente = {
    "nome": "Alice",
    "eta": 25,
    "corsi": ["Python", "Matematica"]
}

studente["corsi"].append("Statistica")
for chiave, valore in studente.items():
    print(chiave, ":", valore)

				
			
				
					#esercizio 3
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}

print("Unione:", a | b)
print("Intersezione:", a & b)
print("Differenza:", a - b)

				
			

Obiettivi della lezione 05

  • Comprendere cosa sono le funzioni e perché sono utili.
  • Imparare a definire e richiamare funzioni in Python.
  • Lavorare con parametri, argomenti e valori di ritorno.
  • Approfondire il concetto di variabili locali e globali.
  • Esplorare funzioni built-in e funzioni anonime (lambda).

Cosa sono le funzioni?

Una funzione è un blocco di codice che esegue un’operazione specifica. Le funzioni:

  • Incapsulano la logica: Scrivi il codice una volta e lo utilizzi ovunque.
  • Aumentano la leggibilità: Organizzano il codice in blocchi chiari.
  • Favoriscono la riusabilità: Evitano duplicazioni di codice.

In Python esistono due tipi di funzioni:

  1. Funzioni built-in: Predefinite da Python, come print(), len() e sum().
  2. Funzioni definite dall’utente: Funzioni che scrivi tu stesso.

Creare e utilizzare una funzione

Sintassi di base

				
					def nome_funzione(parametri_opzionali):
    # Blocco di codice
    return valore_opzionale
    
    
def saluta():
    print("Ciao, benvenuto al corso di Python!")

				
			

Come chiamare una funzione

				
					saluta()  # Output: Ciao, benvenuto al corso di Python!
				
			

Parametri e Argomenti

I parametri sono variabili che una funzione accetta in ingresso, mentre gli argomenti sono i valori che passiamo alla funzione quando la richiamiamo.

Parametri e Argomenti

				
					def saluta(nome):
    print(f"Ciao, {nome}!")
    
#Richiamare la funzione
saluta("Alice")  # Output: Ciao, Alice!

				
			

Parametri con valori predefiniti

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

saluta()  # Output: Ciao, utente!
saluta("Luca")  # Output: Ciao, Luca!

				
			

Argomenti multipli

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

risultato = somma(10, 20)
print(risultato)  # Output: 30
				
			

Valori di Ritorno

Funzione con valore di ritorno

Una funzione può restituire un valore utilizzando la keyword return

				
					def quadrato(x):
    return x ** 2

print(quadrato(4))  # Output: 16

				
			

Restituire più valori

Puoi restituire più valori utilizzando tuple:

				
					def operazioni(a, b):
    somma = a + b
    differenza = a - b
    return somma, differenza

s, d = operazioni(10, 5)
print("Somma:", s)  # Output: Somma: 15
print("Differenza:", d)  # Output: Differenza: 5

				
			

Variabili Locali e Globali

Le variabili definite all’interno di una funzione sono locali, mentre quelle definite all’esterno sono globali.

Variabili locali

				
					def funzione():
    x = 10  # Variabile locale
    print(x)

funzione()
# print(x)  # Errore! x non è definita al di fuori della funzione

				
			

Variabili globali

				
					x = 10  # Variabile globale

def funzione():
    print(x)

funzione()  # Output: 10

				
			

Modificare una variabile globale

				
					x = 10

def funzione():
    global x
    x = 20

funzione()
print(x)  # Output: 20

				
			

Funzioni Built-In

Python fornisce molte funzioni pronte all’uso. Ecco alcune delle più utili:

  • len(): Restituisce la lunghezza di una lista, stringa o altro oggetto iterabile.
  • sum(): Calcola la somma di una lista di numeri.
  • max(), min(): Restituiscono il valore massimo e minimo di una sequenza.
  • type(): Restituisce il tipo di un oggetto.
				
					numeri = [1, 2, 3, 4]
print(len(numeri))  # Output: 4
print(sum(numeri))  # Output: 10
print(max(numeri))  # Output: 4
print(min(numeri))  # Output: 1

				
			

Funzioni Lambda (Anonime)

Le funzioni lambda sono funzioni anonime, definite in una sola riga. Sono utili per operazioni semplici.

				
					lambda parametri: espressione

quadrato = lambda x: x ** 2
print(quadrato(5))  # Output: 25

				
			
				
					numeri = [1, 2, 3, 4]

# Quadrati con map
quadrati = list(map(lambda x: x ** 2, numeri))
print(quadrati)  # Output: [1, 4, 9, 16]

# Filtrare numeri pari
pari = list(filter(lambda x: x % 2 == 0, numeri))
print(pari)  # Output: [2, 4]

				
			

Esercizi pratici

  • Esercizio 1: Crea una funzione saluta
    Scrivi una funzione che prenda il nome di una persona e stampi un saluto personalizzato.

  • Esercizio 2: Calcolo dell’area di un rettangolo
    Scrivi una funzione che calcoli e restituisca l’area di un rettangolo, dato base e altezza.

  • Esercizio 3: Trova il massimo
    Scrivi una funzione che prenda tre numeri e restituisca il massimo.
  • Esercizio 4: Funzione con lambda
    Crea una funzione lambda che calcoli il cubo di un numero.

Conclusioni e anticipazioni

In questa lezione abbiamo:

  • Compreso l’importanza delle funzioni per scrivere codice modulare e riutilizzabile.
  • Appreso a creare e utilizzare funzioni con parametri e valori di ritorno.
  • Esplorato le funzioni built-in e le funzioni anonime (lambda).

Nella prossima lezione ci concentreremo sulla gestione delle eccezioni e sull’I/O su file, imparando a gestire errori e a leggere/scrivere dati.

Homepage del Corso Introduttivo

Sei curioso di scoprire il mondo della programmazione?
Con il mio corso gratuito di Python potrai infatti scoprire gli aspetti del linguaggio.
Ogni lezione è spiegata in modo chiaro e pratico.
Inoltre, grazie a esercizi e materiali di supporto, potrai quindi mettere subito in pratica ciò che impari.

Il mio Portfolio