2 Prima di cominciare
Che cosa serve per cominciare? Buona domanda. Avrete bisogno essenzialmente di tre cose:
- un calcolatore;
- un’installazione funzionante di Python (e di parte dell’ecosistema scientifico associato);
- un editor di testo.
Se non siete sicure di avere tutto, non preoccupatevi: questo primo capitolo è pensato proprio per portarvi per mano all’esecuzione del vostro primo, glorioso programma.
2.1 Il calcolatore
Prima che ve lo chiediate, possiamo riassumere i nostri requisiti come: va bene letteralmente qualsiasi cosa purché abbia una tastiera.
Se volete (o avete necessità di) utilizzare un tablet per il corso di laboratorio, parliamone! Allo stato delle cose qui non troverete istruzioni utili, ma se riuscite ad identificare un setup funzionante e riproducibile potreste rendere il mondo un posto migliore documentandolo e contribuendo voi stesse a queste note.
Da un punto di vista hardware non abbiamo grosse pretese. Se avete un calcolatore che vi permette di navigare su web e guardare film in streaming andrà benissimo anche per il corso di laboratorio.
Anche per quel che riguarda il sistema operativo va bene più o meno tutto. Gli strumenti che utilizzeremo sono tutti intrinsecamente multi-piattaforma e, a meno che non usiate un sistema particolarmente esotico, è improbabile che non interagisca bene con il laboratorio di Fisica. In particolare non dovreste avere particolari problemi (ma, come sempre in questi casi il condizionale è d’obbligo) se utilizzare Windows, Mac-OS, o GNU/Linux.
2.2 Il linguaggio di programmazione: Python
Il linguaggio di programmazione che abbiamo scelto per il corso si chiama Python. Non perché sia, in assoluto, il migliore linguaggio del mondo (qualsiasi cosa questo voglia dire), ma perché ha molte caratteristiche che lo rendono adatto ai nostri scopi: è software libero, la sua sintassi è progettata esplicitamente per la massima espressività e facilità d’uso, ha una vasta libreria standard ed un enorme ecosistema associato di estensioni attivamente sviluppate, ed è uno dei linguaggi più utilizzati per il calcolo scientifico.
La pagina principale di Python è il punto di ingresso fondamentale per tutte le questioni legate al linguaggio, comprese l’installazione e la documentazione. Se non avete particolari esigenze (o, come più probabile, non sapete cosa vuol dire avere particolari esigenze) potete prendere l’ultima versione stabile (e.g., 3.14.6 a luglio 2026). Il tab Downloads in alto nella pagina web dovrebbe indirizzarvi di default all’ultima versione stabile per il vostro sistema operativo.
2.2.1 GNU/Linux
Se usate GNU/Linux è tecnicamente garantito che abbiate già una versione di sistema di Python—e, con ogni probabilità—questa va bene. Siete pronte per procedere, e non dovete fare nulla.
Vale la pena controllare che versione di Python sul vostro sistema non sia troppo vecchia (e.g., più vecchia della 3.7), perché, in caso contrario, potreste avere qualche problema di compatibilità con gli esempi di queste note. In generale aggiornare la versione di Python di sistema senza aggiornare il sistema intero non è operazione facile (né raccomandabile), ma potete valutare la possibilità di installare una versione di Python aggiuntiva, ad esempio utilizzando pyenv.
2.2.2 Mac-OS
Se usate Mac-OS, molto probabilmente dovrete installare Python. Potete scaricare l’installer dalla pagina web dei downloads/macos ed eseguirlo. Conviene ovviamente scaricare la “Stable Release” più recente.
2.2.3 Windows
Se utilizzate Windows (e non avete Python installato sul vostro sistema), scaricate l’installer dalla pagina web dei downloads ed eseguitelo.
Quando lanciate l’installer di Windows potete selezionare l’installazione standard, assicurandovi di spuntare la check box che aggiunge l’eseguibile Python.exe alla variabile d’ambiente PATH (dovrebbe essere in basso nella finestrella di avvio). Questo vi permetterà di lanciare l’interprete da terminale. Per il momento questo non vi dice molto, ma è importante, e ci torneremo tra un attimo.
2.3 Tre modi di utilizzare Python
Come si capisce se l’installazione di Python è andata a buon fine? Facile, ma per prima cosa dovete aprire un terminale. (Ci torneremo brevemente sopra nel Capitolo 9, ma per il momento portate pazienza e provate a seguire le indicazioni.)
Nei tempi antichi, prima dell’avvento di smartphone e tablet, si parlava con i computer digitando su una tastiera comandi che apparivano sullo schermo, attraverso un’applicazione che andava sotto il nome di terminale (terminal, o shell, in inglese). Ebbene—udite, udite—il terminale (anzi: i terminali, perché ne esistono di diversi tipi e per tutti i gusti) esiste ancora, anche se nei sistemi operativi moderni è sepolto sotto svariati layer grafici.
La prima cosa che dovete fare, allora è imparare a resuscitarlo, perché ci servirà. I dettagli logistici dell’operazione dipendono molto dal sistema operativo che utilizzate, ma per farla breve state cercando nella vostra barra delle applicazioni o nel vostro menù di avvio qualcosa che si chiama, appunto, “terminale”, “terminal”, “prompt dei comandi”, “command prompt”, “prompt di DOS”, “DOS prompt”, o variazioni sul tema. Andando avanti imparerete, se non lo sapete già, che la maggior parte delle operazioni che siete abituate a fare a colpi di mouse (e.g., copiare e rinominare file) si possono fare da linea di comando—e, anzi, questa modalità si presta più naturalmente ad essere automatizzata, che è una cosa che vi servirà nel vostro lavoro.
2.3.1 Python da terminale
Ma torniamo a noi. Se digitate python nel terminale dovreste trovarvi immediatamente catapultate nell’interprete—cioè dovreste vedere qualcosa di vagamente rassomigliante a
lbaldini@nblbaldini:~$ python
Python 3.13.13 (main, Apr 8 2026, 00:00:00) [GCC 15.2.1 20260123] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
I tre simboli >>> nell’ultima riga stanno ad indicare che l’interprete è pronto ad accettare comandi: potete cominciare a scrivere, e l’interprete vi risponderà con il valore dell’ultima espressione ogni volta che premete invio, in quello che in gergo tecnico prende il nome di REPL (Read-Eval-Print Loop). Se così non fosse, fate un respiro profondo e cercate di capire se e cosa è andato storto, perché altrimenti è inutile andare avanti.
A seconda del sistema operativo (e.g., con versioni recenti di Mac OS) è possibile che il comando per lanciare l’interprete Python non si chiami python ma python3. Si tratta di accidente storico che, nel 2026, è estremamente poco interessante, ma se uno non funziona provate l’altro prima di arrendervi.
Questo modo di utilizzare l’interprete si dice interattivo; è utile se volete usare Python come una sorta di calcolatore tascabile, se volete provare velocemente un costrutto o, più in generale, se quello che dovete fare è molto semplice.
>>> 3 + 17
20
>>>
Non vi sembrerà la cosa più eccitante del mondo, ma prendetevi 5 minuti per sperimentare con l’interprete Python nel terminale, perché avete appena raggiunto ufficialmente la vostra prima milestone, ed è bene dare il giusto rilievo alla cosa.
2.3.2 Python con editor di testo e terminale
Non passerà molto tempo prima che vi rendiate conto che l’uso interattivo di Python è molto limitante. Quando uscite dall’interprete ripetere una serie di operazioni una seconda volta richiede banalmente di dover digitare tutto da capo—il che diventa estremamente tedioso molto velocemente. Per tutti i task di complessità non nulla è molto più conveniente scrivere tutti i comandi, uno dopo l’altro, in un file di testo (convenzionalmente con estensione .py), ed invocare l’interprete passando il percorso al file come argomento. Questo richiede un minimo di padronanza della shell e del filesystem, ma dopo il primo successo avete ufficialmente aggiunto un nuovo strumento—ed uno molto potente—alla vostra cassetta degli attrezzi: avete appena scritto il vostro primo programma.
Può darsi che nel capoverso precedente si siano alcune parole (e.g., percorso, filesystem, file di testo) di cui ignorate il significato. Nel parleremo più diffusamente nel Capitolo 9, e potete fare un veloce salto in avanti se ne avete bisogno. Ma non lasciatevi tentare dall’utilizzare Python in modo interattivo nemmeno se incontrate qualche problema a questo stadio, perché vi assicuro che non è quello il modo in cui volete lavorare. Chiedete aiuto immediatamente se ne avete bisogno!
Quale editor di testo usare, vi chiedete? Beh, oggigiorno usano tutti Visual Studio Code, che tecnicamente è più di un editor, ma leggete la prossima sezione prima di decidere.
2.3.3 Python da IDE
Esistono infine sul mercato vari Integrated Development Environment (IDE) che uniscono in un’unica interfaccia grafica l’editor di testo, l’interprete Python e tutta una serie di altre cose (e.g., un browser del filesystem), e che sono la scelta tipica per chi programma professionalmente—o almeno lo erano fino all’avvento degli agenti AI.
Più o meno tutto il mondo usa Visual Studio Code. Curiosamente VS Code è pubblicizzato dalla Microsoft, che ne è proprietaria, come The open source AI code editor. Quando andate a leggere le scritte in piccolo vi accorgete però che, nonostante il codice sorgente sia pubblicamente disponibile, il programma è rilasciato sotto una licenza non libera e contiene elementi di tracciamento che non possono essere disabilitati (come spiegato nella sezione 2 della licenza stessa)—in altre parole, Microsoft può legittimamente raccogliere informazioni su di voi ed il vostro computer mentre usate VS Code. Quali? Non è dato saperlo.
Il clone libero VS Codium nasce proprio per ovviare a questo problema: l’eseguibile è rilasciato sotto una licenza libera ed il tracciamento è disabilitato. Avete il meglio dei due mondi. A voi la scelta.
2.4 I pacchetti aggiuntivi
Una volta installato Python siete a buon punto, ma non ancora alla fine: oltre al linguaggio, avrete bisogno almeno di tre pacchetti esterni aggiuntivi, da installare separatamente:
- numpy per l’algebra lineare;
- scipy per il fitting (tra le altre cose);
- matplotlib per fare grafici.
La buona notizia è che, se potete lanciare l’interprete Python da terminale, con ogni probabilità potete anche lanciare l’installer di pacchetti pip, digitando nel terminale (mi raccomando, non nell’interprete Python):
python -m pip install numpy scipy matplotlib
Se siete su uno di quei sistemi (e.g., Mac OS) in cui l’interprete Python si chiama python3 e non python, allora ovviamente il comando è
python3 -m pip install numpy scipy matplotlib
Se tutto è andato come doveva, a questo punto dovreste essere in grado di lanciare l’interprete Python ed importare i pacchetti (scopriremo nel prossimo capitolo cosa vuol dire, ma per il momento fidatevi):
python
Python 3.13.13 (main, Apr 8 2026, 00:00:00) [GCC 15.2.1 20260123] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import scipy
>>> import matplotlib
>>>
Se tutti e tre gli import arrivano a completamento senza messaggi d’errore… congratulazioni: siete quasi pronte! Se invece vedete qualcosa di simile a
>>> import numpy
Traceback (most recent call last):
File "<python-input-0>", line 1, in <module>
import numpy
ModuleNotFoundError: No module named 'numpy'
>>>
allora, purtroppo, qualcosa è andato storto. Tristemente, è di nuovo il momento di cercare aiuto, e cercarlo subito, perché è inutile andare avanti altrimenti.
2.5 Funziona tutto?
Se siete arrivate fino a qui probabilmente si. Non c’è altro modo per scoprirlo che passare al Capitolo 3.