mercoledì 22 ottobre 2025

Corso di Python: 9 – Moduli e Librerie

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:

  1. string.ascii_letters → tutte le lettere (a-zA-Z)

  2. string.digits → numeri 0-9

  3. string.punctuation → simboli speciali

  4. random.choice(caratteri) → sceglie casualmente un carattere

  5. "".join(...) → unisce tutti i caratteri in una stringa

Output esempio:

La tua password casuale: q9&K@2mF!vRz7#T*

5. Test rapido

  1. Come si importa solo una funzione da un modulo?
    Risposta: from modulo import funzione

  2. Quale modulo usi per date e orari?
    Risposta: datetime

  3. Come generi un numero intero casuale tra 1 e 100?
    Risposta: random.randint(1,100)

  4. Come installi un pacchetto esterno?
    Risposta: pip install nome_pacchetto

  5. Come unisci caratteri casuali in una stringa?
    Risposta: con "".join(lista_di_caratteri)


6. Attività pratica

  • 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.


Nessun commento:

Posta un commento

Corso Fondamenti di Informatica e Reti: 6 Reti di computer e Internet

Reti di computer e Internet Introduzione Prova a pensare alla vita quotidiana senza reti informatiche: niente messaggi WhatsApp, niente m...