Context engineering
9 Moduli e Librerie
Un modulo è un file .py contenente definizioni di funzioni, classi e variabili che possiamo riutilizzare in altri programmi.
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")
Python include numerosi moduli preinstallati, pronti all’uso.
mathFunzioni matematiche avanzate:
import math
print(math.sqrt(16)) # 4.0
print(math.sin(math.pi/2)) # 1.0
print(math.factorial(5)) # 120
datetimeGestione 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)
randomGenerazione 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
pippip permette di installare librerie esterne non incluse in Python.
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)
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*
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)
Modificare la funzione genera_password per 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 datetime per stampare data e ora della generazione.
Commenti
Posta un commento