9 Moduli e Librerie
Obiettivi didattici:
-
Comprendere il concetto di modulo e libreria.
-
Usare librerie standard (
math,datetime,random). -
Installare pacchetti esterni con
pip. -
Creare un generatore casuale di password come esercizio pratico.
1. Moduli in Python
Un modulo è un file .py contenente definizioni di funzioni, classi e variabili che possiamo riutilizzare in altri programmi.
Esempio: creare e importare un modulo
modulo_saluti.py
def saluta(nome):
print(f"Ciao, {nome}!")
main.py
import modulo_saluti
modulo_saluti.saluta("Luca")
Output:
Ciao, Luca!
Si possono importare funzioni specifiche:
from modulo_saluti import saluta
saluta("Anna")
2. Librerie standard
Python include numerosi moduli preinstallati, pronti all’uso.
2.1 Modulo math
Funzioni matematiche avanzate:
import math
print(math.sqrt(16)) # 4.0
print(math.sin(math.pi/2)) # 1.0
print(math.factorial(5)) # 120
2.2 Modulo datetime
Gestione date e orari:
from datetime import datetime
oggi = datetime.now()
print(oggi) # 2025-09-21 11:35:00
print(oggi.year, oggi.month, oggi.day)
2.3 Modulo random
Generazione di numeri casuali:
import random
print(random.randint(1, 10)) # numero intero casuale tra 1 e 10
print(random.choice(["rosso","verde","blu"])) # scelta casuale da lista
3. Installazione pacchetti con pip
pip permette di installare librerie esterne non incluse in Python.
Esempi:
pip install requests
pip install numpy
Dopo l’installazione si importano come moduli standard:
import requests
response = requests.get("https://api.github.com")
print(response.status_code)
4. Esercizio pratico: Generatore casuale di password
Obiettivo: generare una password sicura combinando lettere, numeri e simboli.
import random
import string
def genera_password(lunghezza=12):
caratteri = string.ascii_letters + string.digits + string.punctuation
password = "".join(random.choice(caratteri) for _ in range(lunghezza))
return password
# Uso della funzione
pw = genera_password(16)
print(f"La tua password casuale: {pw}")
Spiegazione passo-passo:
-
string.ascii_letters→ tutte le lettere (a-zA-Z) -
string.digits→ numeri 0-9 -
string.punctuation→ simboli speciali -
random.choice(caratteri)→ sceglie casualmente un carattere -
"".join(...)→ unisce tutti i caratteri in una stringa
Output esempio:
La tua password casuale: q9&K@2mF!vRz7#T*
5. Test rapido
-
Come si importa solo una funzione da un modulo?
Risposta:from modulo import funzione -
Quale modulo usi per date e orari?
Risposta:datetime -
Come generi un numero intero casuale tra 1 e 100?
Risposta:random.randint(1,100) -
Come installi un pacchetto esterno?
Risposta:pip install nome_pacchetto -
Come unisci caratteri casuali in una stringa?
Risposta: con"".join(lista_di_caratteri)
6. Attività pratica
-
Modificare la funzione
genera_passwordper garantire almeno una lettera maiuscola, una minuscola, un numero e un simbolo. -
Creare un piccolo programma che salva le password generate in un file
.txt. -
Usare il modulo
datetimeper stampare data e ora della generazione.

Nessun commento:
Posta un commento