|
| 1 | +# Python Zero to Hero |
| 2 | + |
| 3 | +> Una roadmap pratica e full-stack per padroneggiare Python, dalle basi fino alle web app, agli strumenti CLI, al packaging e oltre. |
| 4 | +
|
| 5 | +**Autore:** Luca Bocaletto |
| 6 | +**Repo:** https://github.com/bocaletto-luca/python-zero-to-hero |
| 7 | + |
| 8 | +[](https://bocaletto-luca.github.io/Python-zero-to-hero/index.html) |
| 9 | + |
| 10 | +--- |
| 11 | + |
| 12 | +## 📖 Indice |
| 13 | + |
| 14 | +1. [Panoramica](#panoramica) |
| 15 | +2. [Caratteristiche](#caratteristiche) |
| 16 | +3. [Struttura del progetto](#struttura-del-progetto) |
| 17 | +4. [Primi passi](#primi-passi) |
| 18 | + - [Prerequisiti](#prerequisiti) |
| 19 | + - [Installazione](#installazione) |
| 20 | + - [Servire le lezioni HTML](#servire-le-lezioni-html) |
| 21 | + - [Eseguire gli script demo](#eseguire-gli-script-demo) |
| 22 | +5. [Capitoli & Contenuti](#capitoli--contenuti) |
| 23 | +6. [Contribuire](#contribuire) |
| 24 | +7. [Licenza](#licenza) |
| 25 | +8. [Ringraziamenti](#ringraziamenti) |
| 26 | + |
| 27 | +--- |
| 28 | + |
| 29 | +## 🌟 Panoramica |
| 30 | + |
| 31 | +**Python Zero to Hero** è il tuo compagno dal primo approccio a Python fino alle applicazioni reali. |
| 32 | +Ogni capitolo include: |
| 33 | + |
| 34 | +- Una **lezione HTML autonoma** (`chapterXX.html`) con stile Bootstrap & Highlight.js. |
| 35 | +- Uno **script demo eseguibile** (`src/chapterXX.py`) che illustra passo passo ogni concetto. |
| 36 | +- **Esercizi** alla fine della lezione per consolidare l’apprendimento. |
| 37 | + |
| 38 | +Che tu preferisca leggere, sperimentare o creare progetti collaterali, questo repo fa al caso tuo. |
| 39 | + |
| 40 | +--- |
| 41 | + |
| 42 | +## 🔧 Caratteristiche |
| 43 | + |
| 44 | +- **Fondamenti:** Sintassi, tipi di dato, flusso di controllo, funzioni, moduli, pacchetti. |
| 45 | +- **Intermedio:** OOP, debugging, logging, testing, assertion. |
| 46 | +- **Argomenti avanzati:** Concorrenza (thread, processi, asyncio), API HTTP, JSON/XML, analisi dati (NumPy, pandas), decorator, context manager, type hint. |
| 47 | +- **Tooling:** Packaging & distribuzione (setuptools, wheel, PyPI), accesso a database (sqlite3, SQLAlchemy Core & ORM, Alembic), profiling & ottimizzazione, framework web (Flask, FastAPI), framework CLI (argparse, Click, Typer). |
| 48 | +- **Approccio full-stack:** Dagli esempi di codice ai comandi di deployment. |
| 49 | + |
| 50 | +--- |
| 51 | + |
| 52 | +## 📂 Struttura del progetto |
| 53 | + |
| 54 | +```text |
| 55 | +python-zero-to-hero/ |
| 56 | +├── chapter01.html ← Lezione HTML 1: Hello, variabili & tipi |
| 57 | +├── chapter02.html ← Lezione HTML 2: Controllo di flusso & cicli |
| 58 | +│ … |
| 59 | +├── chapter22.html ← Lezione HTML 22: argparse, Click & Typer |
| 60 | +├── README.md ← Questo documento |
| 61 | +└── src/ |
| 62 | + ├── chapter01.py ← Script demo 1 |
| 63 | + ├── chapter02.py ← Script demo 2 |
| 64 | + │ … |
| 65 | + └── chapter22.py ← Script demo 22 |
| 66 | +``` |
| 67 | + |
| 68 | +- **Cartella root:** contiene le lezioni HTML e il README. |
| 69 | +- **src/:** gli script Python corrispondenti a ogni capitolo. |
| 70 | + |
| 71 | +--- |
| 72 | + |
| 73 | +## 🚀 Primi passi |
| 74 | + |
| 75 | +### Prerequisiti |
| 76 | + |
| 77 | +- **Python** 3.8+ |
| 78 | +- **Git** (per clonare) |
| 79 | +- (Opzionale) Browser moderno |
| 80 | + |
| 81 | +### Installazione |
| 82 | + |
| 83 | +```bash |
| 84 | +git clone https://github.com/bocaletto-luca/python-zero-to-hero.git |
| 85 | +cd python-zero-to-hero |
| 86 | +``` |
| 87 | + |
| 88 | +### Servire le lezioni HTML |
| 89 | + |
| 90 | +Per migliori risultati, servi i file via HTTP: |
| 91 | + |
| 92 | +```bash |
| 93 | +# server HTTP rapido (Python 3.x) |
| 94 | +python -m http.server 8000 |
| 95 | +``` |
| 96 | + |
| 97 | +Visita `http://localhost:8000/chapter01.html`, `chapter02.html`, … fino a `chapter22.html`. |
| 98 | + |
| 99 | +### Eseguire gli script demo |
| 100 | + |
| 101 | +Tutti i demo si trovano in `src/`. Per eseguire: |
| 102 | + |
| 103 | +```bash |
| 104 | +python src/chapter14.py # es. demo JSON, XML & HTTP Requests |
| 105 | +python src/chapter20.py # es. demo Database & ORM |
| 106 | +``` |
| 107 | + |
| 108 | +Ogni script stampa output commentati per seguirli interattivamente. |
| 109 | + |
| 110 | +--- |
| 111 | + |
| 112 | +## 📚 Capitoli & Contenuti |
| 113 | + |
| 114 | +| Capitolo | Argomento | Lezione HTML | Script Demo | |
| 115 | +| -------- | -------------------------------------------------------- | ------------------ | ------------------- | |
| 116 | +| 01 | Hello, Variabili & Tipi | chapter01.html | src/chapter01.py | |
| 117 | +| 02 | Controllo di Flusso & Cicli | chapter02.html | src/chapter02.py | |
| 118 | +| 03 | Funzioni & Moduli | chapter03.html | src/chapter03.py | |
| 119 | +| 04 | Strutture Dati: Liste, Tuple, Set, Dict | chapter04.html | src/chapter04.py | |
| 120 | +| 05 | File I/O & Eccezioni | chapter05.html | src/chapter05.py | |
| 121 | +| 06 | Programmazione Orientata agli Oggetti | chapter06.html | src/chapter06.py | |
| 122 | +| 07 | OOP Avanzato: Ereditarietà, Dunder Methods | chapter07.html | src/chapter07.py | |
| 123 | +| 08 | Functional Programming: Lambda, map/filter, Comprensioni | chapter08.html | src/chapter08.py | |
| 124 | +| 09 | Moduli, Pacchetti & Virtual Env | chapter09.html | src/chapter09.py | |
| 125 | +| 10 | Packaging & Distribuzione di base | chapter10.html | src/chapter10.py | |
| 126 | +| 11 | Debugging, Logging & Testing | chapter11.html | src/chapter11.py | |
| 127 | +| 12 | Concorrenza & Parallelismo | chapter12.html | src/chapter12.py | |
| 128 | +| 13 | JSON, XML & HTTP Requests | chapter13.html | src/chapter13.py | |
| 129 | +| 14 | Data Analysis con pandas & NumPy | chapter14.html | src/chapter14.py | |
| 130 | +| 15 | Decorator & Context Manager | chapter15.html | src/chapter15.py | |
| 131 | +| 16 | Type Hints & Typing Statico | chapter16.html | src/chapter16.py | |
| 132 | +| 17 | Packaging & Distribuzione PyPI | chapter17.html | src/chapter17.py | |
| 133 | +| 18 | Profiling & Ottimizzazione delle Prestazioni | chapter18.html | src/chapter18.py | |
| 134 | +| 19 | Accesso DB (sqlite3) & SQLAlchemy Core & ORM | chapter19.html | src/chapter19.py | |
| 135 | +| 20 | Sviluppo Web: Flask & FastAPI | chapter20.html | src/chapter20.py | |
| 136 | +| 21 | Strumenti CLI: argparse, Click & Typer | chapter21.html | src/chapter21.py | |
| 137 | +| 22 | (Futuro) Argomenti Avanzati… | chapter22.html | src/chapter22.py | |
| 138 | + |
| 139 | +> **Suggerimento:** Vai a un capitolo aprendo il corrispondente HTML o eseguendone lo script demo. |
| 140 | +
|
| 141 | +--- |
| 142 | + |
| 143 | +## 🤝 Contribuire |
| 144 | + |
| 145 | +I contributi sono più che benvenuti! |
| 146 | +1. Forka il repo. |
| 147 | +2. Crea un branch per la feature: `git checkout -b feature/nuovo-argomento`. |
| 148 | +3. Committa le modifiche: `git commit -m "Aggiungi capitolo XX: nuovo argomento"`. |
| 149 | +4. Pusha sul tuo branch: `git push origin feature/nuovo-argomento`. |
| 150 | +5. Apri una Pull Request. |
| 151 | + |
| 152 | +Per favore: |
| 153 | + |
| 154 | +- Segui le convenzioni di naming (`chapterXX.html`, `src/chapterXX.py`). |
| 155 | +- Includi demo di codice, lezione HTML ed esercizi. |
| 156 | +- Aggiorna l’indice del README. |
| 157 | + |
| 158 | +--- |
| 159 | + |
| 160 | +## 📄 Licenza |
| 161 | + |
| 162 | +Questo progetto è rilasciato sotto **GPL License**. |
| 163 | +Vedi [LICENSE](LICENSE) per i dettagli. |
| 164 | + |
| 165 | +--- |
| 166 | + |
| 167 | +## 🙏 Ringraziamenti |
| 168 | + |
| 169 | +- **Bootstrap** per il layout responsivo e moderno |
| 170 | +- **Highlight.js** per la sintassi del codice |
| 171 | +- La vivace comunità Python per ispirazione e best practice |
| 172 | + |
| 173 | +--- |
| 174 | + |
| 175 | +Buono studio! 🚀 |
| 176 | +— _Luca Bocaletto_ |
0 commit comments