|
5 | 5 | "id": "8db108fa", |
6 | 6 | "metadata": {}, |
7 | 7 | "source": [ |
8 | | - "# 🐍 Primi passi con Python\n", |
| 8 | + "# Primi passi con Python\n", |
9 | 9 | "\n", |
10 | 10 | "In questa lezione, vedremo cosa serve per iniziare, partendo dalle competenze di base agli strumenti per scrivere i primi programmi.\n", |
11 | 11 | "\n", |
|
17 | 17 | "id": "038c35b4", |
18 | 18 | "metadata": {}, |
19 | 19 | "source": [ |
20 | | - "## Pre-requisiti e strumenti necessari 🛠️\n", |
| 20 | + "## Pre-requisiti e strumenti necessari\n", |
21 | 21 | "\n", |
22 | 22 | "### Competenze richieste\n", |
23 | 23 | "\n", |
|
42 | 42 | ] |
43 | 43 | }, |
44 | 44 | { |
45 | | - "cell_type": "markdown", |
46 | | - "id": "5697c534", |
47 | | - "metadata": {}, |
48 | | - "source": [ |
| 45 | + "cell_type": "markdown", |
| 46 | + "id": "installazione_python_dettagliata", |
| 47 | + "metadata": {}, |
| 48 | + "source": [ |
49 | 49 | "### Installazione di Python e dell'editor\n", |
50 | 50 | "\n", |
51 | | - "A seconda del sistema operativo in uso, i passaggi sono leggermente diversi. Prima di iniziare a programmare occorre assicurarsi di avere Python installato e configurato correttamente prima di procedere.\n", |
| 51 | + "Per iniziare a programmare in Python occorre assicurarsi che l’interprete sia installato correttamente sul proprio sistema.\n", |
| 52 | + "I passaggi variano leggermente a seconda del sistema operativo.\n", |
52 | 53 | "\n", |
53 | | - "**Su Linux**\n", |
54 | | - "- **Python:** È quasi sempre preinstallato. Si può verificare con il comando `python3 --version`.\n", |
55 | | - "- **Editor:** [Opzionale] Si può installare **VS Code** dal sito ufficiale o tramite il gestore di pacchetti (ad es., `sudo snap install code --classic`).\n", |
| 54 | + "#### Installare Python su Linux\n", |
56 | 55 | "\n", |
57 | | - "**Su macOS**\n", |
58 | | - "- **Python:** Scaricare l'installer dal **[sito ufficiale di Python](https://www.python.org/downloads/)** o usa Homebrew (`brew install python3`).\n", |
59 | | - "- **Editor:** [Opzionale] Si può installare **[VS Code](https://code.visualstudio.com/)** dal sito ufficiale.\n", |
| 56 | + "La maggior parte delle distribuzioni Linux include già Python, ma spesso la versione usata dal sistema è diversa da quella che si vorrebbe usare per programmare.\n", |
60 | 57 | "\n", |
61 | | - "**Su Windows**\n", |
62 | | - "- **Python:** Scaricare l'installer dal **[sito ufficiale di Python](https://www.python.org/downloads/)**. **Ricorda di spuntare la casella `Add Python to PATH`** durante l'installazione.\n", |
63 | | - "- **Editor:** [Opzionale] Si può installare **[VS Code](https://code.visualstudio.com/)** dal sito ufficiale." |
64 | | - ] |
65 | | - }, |
| 58 | + "Verificare se Python è installato dal terminale:\n", |
| 59 | + "```bash\n", |
| 60 | + "python3 --version\n", |
| 61 | + "```\n", |
| 62 | + "\n", |
| 63 | + "**Ubuntu / Debian**\n", |
| 64 | + "```bash\n", |
| 65 | + "sudo apt update\n", |
| 66 | + "sudo apt install python3 python3-pip python3-venv\n", |
| 67 | + "```\n", |
| 68 | + "\n", |
| 69 | + "**Fedora**\n", |
| 70 | + "```bash\n", |
| 71 | + "sudo dnf install python3 python3-pip python3-virtualenv\n", |
| 72 | + "```\n", |
| 73 | + "\n", |
| 74 | + "**Arch Linux / Manjaro**\n", |
| 75 | + "```bash\n", |
| 76 | + "sudo pacman -S python python-pip\n", |
| 77 | + "```\n", |
| 78 | + "\n", |
| 79 | + "#### Installare Python su macOS\n", |
| 80 | + "\n", |
| 81 | + "Il metodo consigliato è quello di usare l'installer ufficiale che si può scaricare da: https://www.python.org/downloads/\n", |
| 82 | + "\n", |
| 83 | + "Come alternativa è possibile utilizzare il gestore di pacchetti Homebrew.\n", |
| 84 | + "\n", |
| 85 | + "**Che cos’è Homebrew?**\n", |
| 86 | + "\n", |
| 87 | + "Homebrew è un gestore di pacchetti per macOS, utile per installare software tramite terminale.\n", |
| 88 | + "\n", |
| 89 | + "Installazione Homebrew:\n", |
| 90 | + "```bash\n", |
| 91 | + "/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n", |
| 92 | + "```\n", |
| 93 | + "\n", |
| 94 | + "Una volta installato Homebrew è possibile installare Python tramite Homebrew:\n", |
| 95 | + "```bash\n", |
| 96 | + "brew update\n", |
| 97 | + "brew install python\n", |
| 98 | + "```\n", |
| 99 | + "\n", |
| 100 | + "#### Installare Python su Windows\n", |
| 101 | + "\n", |
| 102 | + "1. Andare su: https://www.python.org/downloads/\n", |
| 103 | + "2. Scaricare l’installer.\n", |
| 104 | + "3. **Attivare l’opzione `Add Python to PATH`**.\n", |
| 105 | + "4. Verificare l'installazione:\n", |
| 106 | + "```powershell\n", |
| 107 | + "python --version\n", |
| 108 | + "```\n", |
| 109 | + "\n", |
| 110 | + "### Installazione dell’editor (VS Code)\n", |
| 111 | + "Il metodo consigliato è quello di scaricare VS Code dal sito ufficiale https://code.visualstudio.com/\n", |
| 112 | + "\n", |
| 113 | + "**macOS (Homebrew):**\n", |
| 114 | + "\n", |
| 115 | + "VS Code è disponibile anche attraverso Homebrew:\n", |
| 116 | + "```bash\n", |
| 117 | + "brew install --cask visual-studio-code\n", |
| 118 | + "```\n", |
| 119 | + "\n", |
| 120 | + "### Gestire più versioni di Python con pyenv\n", |
| 121 | + "\n", |
| 122 | + "Quando si lavora con Python, può essere necessario utilizzare **versioni diverse** per progetti differenti. Per evitare conflitti, si può usare **pyenv**, uno strumento che permette di installare e gestire più versioni di Python sullo stesso sistema.\n", |
| 123 | + "\n", |
| 124 | + "**Installazione macOS e Linux:**\n", |
| 125 | + "Installare tramite script ufficiale:\n", |
| 126 | + "```bash\n", |
| 127 | + "curl https://pyenv.run | bash\n", |
| 128 | + "```\n", |
| 129 | + "\n", |
| 130 | + "Aggiungere al file della shell (ad esempio ~/.bashrc o ~/.zshrc):\n", |
| 131 | + "```bash\n", |
| 132 | + "export PATH=\"$HOME/.pyenv/bin:$PATH\"\n", |
| 133 | + "eval \"$(pyenv init -)\"\n", |
| 134 | + "```\n", |
| 135 | + "\n", |
| 136 | + "**Installazione su Windows):**\n", |
| 137 | + "Usare il progetto pyenv-win:\n", |
| 138 | + "\n", |
| 139 | + "```powershell\n", |
| 140 | + "Invoke-WebRequest -UseBasicParsing -Uri \"https://pyenv-win.github.io/pyenv-win/install.ps1\" | Invoke-Expression\n", |
| 141 | + "```\n", |
| 142 | + "\n", |
| 143 | + "**Comandi principali:**\n", |
| 144 | + "- Lista versioni disponibili: `pyenv install --list`\n", |
| 145 | + "- Installare una versione: `pyenv install 3.12.1`\n", |
| 146 | + "- Impostare versione globale: `pyenv global 3.12.1`\n", |
| 147 | + "- Impostare versione locale: `pyenv local 3.11.6`" |
| 148 | + ] |
| 149 | +} |
| 150 | +, |
66 | 151 | { |
67 | 152 | "cell_type": "markdown", |
68 | 153 | "id": "5050cc32", |
|
114 | 199 | "id": "a57a03aa", |
115 | 200 | "metadata": {}, |
116 | 201 | "source": [ |
117 | | - "### Interazione con l'utente: la funzione `input()` 💬\n", |
| 202 | + "### Interazione con l'utente: la funzione `input()`\n", |
118 | 203 | "\n", |
119 | 204 | "Mentre `print()` permette di mostrare un output, la funzione **`input()`** consente di chiedere all'utente di inserire dei dati. Quando Python incontra `input()`, il programma si ferma e attende che l'utente scriva qualcosa e prema Invio. Il testo che l'utente inserisce viene restituito come una stringa. Spiegheremo in dettaglio come funziona `input()` più avanti nel corso, qui si può vederla in azione nel prossimo esempio." |
120 | 205 | ] |
|
148 | 233 | "id": "af5a1f21", |
149 | 234 | "metadata": {}, |
150 | 235 | "source": [ |
151 | | - "### Il costrutto `if __name__ == \"__main__\":` 🤔\n", |
| 236 | + "### Il costrutto `if __name__ == \"__main__\":`\n", |
152 | 237 | "\n", |
153 | 238 | "Il primo blocco che viene all'attenzione è il blocco `if __name__ == \"__main__\":`. Questo è un costrutto comune e importante in Python. Serve a controllare se il file Python viene eseguito direttamente o se viene importato come modulo in un altro script.\n", |
154 | 239 | "\n", |
|
165 | 250 | "id": "7151f687", |
166 | 251 | "metadata": {}, |
167 | 252 | "source": [ |
168 | | - "### Passare argomenti esterni al programma 🚀\n", |
| 253 | + "### Passare argomenti esterni al programma\n", |
169 | 254 | "\n", |
170 | 255 | "Spesso, invece di chiedere all'utente di inserire dati con `input()`, si vuole che il programma li riceva direttamente quando viene eseguito da terminale. Questo è possibile farlo usando il modulo della libreria standard `sys` e in particolare la lista `sys.argv`.\n", |
171 | 256 | "\n", |
|
206 | 291 | "\n", |
207 | 292 | "Python ha una ricca **libreria standard** di moduli che si può importare per estendere le funzionalità all'interno di un codice. Le librerie sono collezioni di funzioni e strumenti predefiniti.\n", |
208 | 293 | "\n", |
209 | | - "### Come e dove Python cerca i moduli 🗺️\n", |
| 294 | + "### Come e dove Python cerca i moduli\n", |
210 | 295 | "\n", |
211 | 296 | "Quando un'istruzione `import` viene eseguita, Python cerca i moduli in una lista di percorsi predefinita, accessibile tramite la lista **`sys.path`** del modulo integrato `sys`. Questo meccanismo è fondamentale per capire come vengono trovate sia le librerie standard che quelle installate di terze parti.\n", |
212 | 297 | "\n", |
|
450 | 535 | "metadata": {}, |
451 | 536 | "source": [ |
452 | 537 | "---\n", |
453 | | - "## 💡 Soluzioni\n", |
| 538 | + "## Soluzioni\n", |
454 | 539 | "\n", |
455 | | - "> 📂 **[Clicca qui per vedere il codice delle soluzioni](code/01/solutions)**\n", |
| 540 | + "> **[Clicca qui per vedere il codice delle soluzioni](code/01/solutions)**\n", |
456 | 541 | "\n", |
457 | 542 | "---" |
458 | 543 | ] |
|
0 commit comments