Moduli, Libreria Standard e pip
Moduli, Libreria Standard, pip e Ambiente
Section titled “Moduli, Libreria Standard, pip e Ambiente”Basato su: Manuale Python per principianti (freeCodeCamp)
🎯 Obiettivi del Modulo
Section titled “🎯 Obiettivi del Modulo”- ✅ Creare e importare moduli
- ✅ Usare i moduli della libreria standard (math, datetime, json, re, os)
- ✅ Installare pacchetti con pip
- ✅ Gestire ambienti virtuali con venv
- ✅ Scrivere codice conforme a PEP8
📅 Lezione 1 — Moduli in Python
Section titled “📅 Lezione 1 — Moduli in Python”Contenuti (dal manuale, sezione “Moduli in Python”)
Section titled “Contenuti (dal manuale, sezione “Moduli in Python”)”- Importare moduli:
import math,from math import sqrt - Creare un modulo: salvare funzioni in un file .py
__name__: eseguibile solo se runnato direttamente- Rinomare:
import math as m
Attività (esercizi)
Section titled “Attività (esercizi)”# Importimport mathfrom random import randint, choice
print(math.sqrt(16))print(randint(1, 10))print(choice(["mela", "banana", "arancia"]))
# __name__print(__name__) # __main__ se eseguito direttamenteRiferimenti
Section titled “Riferimenti”- Manuale → sezione Moduli in Python
📅 Lezione 2 — Libreria standard di Python
Section titled “📅 Lezione 2 — Libreria standard di Python”Contenuti (dal manuale, sezione “La libreria standard di Python”)
Section titled “Contenuti (dal manuale, sezione “La libreria standard di Python”)”- math: funzioni matematiche
- datetime: date e orari
- json: serializzazione
- re: espressioni regolari
- os e sys: sistema operativo
- random: numeri casuali
Attività (esercizi)
Section titled “Attività (esercizi)”# datetimefrom datetime import datetimeoggi = datetime.now()print(oggi.strftime("%d/%m/%Y %H:%M"))
# jsonimport jsondati = {"nome": "Alice", "eta": 25}json_str = json.dumps(dati, indent=2)print(json_str)
# re (regex)import retesto = "La mia email è pippo@example.com"match = re.search(r'\S+@\S+', testo)if match: print(f"Trovato: {match.group()}")
# osimport osprint(os.getcwd())Riferimenti
Section titled “Riferimenti”- Manuale → sezione La libreria standard di Python
📅 Lezione 3 — pip
Section titled “📅 Lezione 3 — pip”Contenuti (dal manuale, sezione “Come installare pacchetti di terze parti in Python usando pip”)
Section titled “Contenuti (dal manuale, sezione “Come installare pacchetti di terze parti in Python usando pip”)”pip install nome_pacchettopip uninstall nome_pacchettopip freeze> requirements.txtpip install -r requirements.txt- Pacchetti utili: requests, flask, numpy, pandas
Attività (esercizi)
Section titled “Attività (esercizi)”# Vedi i pacchetti installatipip list
# Installa un pacchettopip install requests
# Crea requirements.txtpip freeze > requirements.txt
# Installa da requirementspip install -r requirements.txtRiferimenti
Section titled “Riferimenti”- Manuale → sezione Come installare pacchetti di terze parti in Python usando pip
📅 Lezione 4 — Ambienti virtuali
Section titled “📅 Lezione 4 — Ambienti virtuali”Contenuti (dal manuale, sezione “Ambienti virtuali in Python”)
Section titled “Contenuti (dal manuale, sezione “Ambienti virtuali in Python”)”- Perché isolarli: conflitti tra versioni
- Creare:
python -m venv nome_ambiente - Attivare:
source nome_ambiente/bin/activate(macOS/Linux) onome_ambiente\Scripts\activate(Windows) - Disattivare:
deactivate - requirements.txt + venv = buona pratica
Attività (esercizi)
Section titled “Attività (esercizi)”# Crea ambiente virtualepython -m venv mio_ambiente
# Attiva (Windows)mio_ambiente\Scripts\activate
# Attiva (macOS/Linux)source mio_ambiente/bin/activate
# Il prompt cambia, mostra (mio_ambiente)# Installa pacchetti qui dentropip install flask
# DisattivadeactivateRiferimenti
Section titled “Riferimenti”- Manuale → sezione Ambienti virtuali in Python
📅 Lezione 5 — PEP8
Section titled “📅 Lezione 5 — PEP8”Contenuti (dal manuale, sezione “La guida allo stile di Python PEP8”)
Section titled “Contenuti (dal manuale, sezione “La guida allo stile di Python PEP8”)”- PEP8: guida allo stile ufficiale di Python
- Regole principali:
- 4 spazi per indentazione
- 79 caratteri per riga
- Nome classi in CamelCase, funzioni/variabili in snake_case
- Due righe vuote tra funzioni
- Spazi attorno agli operatori
- Strumenti: flake8, pylint, black (auto-format)
Riferimenti
Section titled “Riferimenti”- Manuale → sezione La guida allo stile di Python PEP8
🏠 Esercizi per Casa
Section titled “🏠 Esercizi per Casa”"""ESERCIZIO 1: Modulo personalizzatoCrea un file calcoli.py con funzioni:- somma, differenza, prodotto, divisione, potenzaPoi importalo e usalo da un altro file."""
"""ESERCIZIO 2: DateUsa datetime per stampare:- Data e ora correnti- Data di oggi formattata come "24 Giugno 2026"- Quanti giorni mancano a Natale"""📊 Verifica Apprendimento
Section titled “📊 Verifica Apprendimento”| Domanda | Risposta |
|---|---|
| Come si importa solo sqrt da math? | from math import sqrt |
Cosa fa pip freeze? | Elenca pacchetti installati in formato requirements |
| Come si crea un ambiente virtuale? | python -m venv nome |
| PEP8: quante spazi per indentare? | 4 |
| PEP8: convenzione per nomi funzioni? | snake_case |
| PEP8: convenzione per nomi classi? | CamelCase |