Capitolo 2 – Ambiente di sviluppo e struttura di un programma Python
Materiale originale a cura di Alfredo Di Fiore – megistone.it
Manuale completo:
vai all’indice del corso
2.1 Obiettivi formativi
Al termine di questo capitolo lo studente sarà in grado di:
- comprendere come è organizzato un ambiente di sviluppo Python;
- eseguire programmi Python da file e da riga di comando;
- descrivere la struttura sintattica di un programma Python;
- comprendere il ruolo dell’indentazione come costrutto semantico;
- analizzare un semplice programma Python riga per riga.
—
2.2 Ambiente di sviluppo Python
Un ambiente di sviluppo è l’insieme di strumenti che permettono di scrivere,
eseguire e analizzare un programma.
Per Python è sufficiente disporre di:
- un interprete Python;
- un editor di testo o un IDE;
- un terminale o prompt dei comandi.
Questa semplicità è una delle ragioni della diffusione di Python in ambito didattico e scientifico.
—
2.3 Interprete Python
L’interprete Python è il programma che:
- legge il codice sorgente;
- lo traduce in bytecode;
- ne gestisce l’esecuzione tramite la Python Virtual Machine.
È possibile utilizzare Python in due modalità principali:
- modalità interattiva;
- modalità script.
—
2.3.1 Modalità interattiva
In modalità interattiva l’interprete esegue le istruzioni una alla volta,
mostrando immediatamente il risultato.
>>> 2 + 3
5
>>> print("Hello, Python")
Hello, Python
Questa modalità è utile per:
- test rapidi;
- verifica di espressioni;
- apprendimento iniziale.
—
2.3.2 Modalità script
Nella modalità script il programma è scritto in un file con estensione .py
ed eseguito interamente dall’interprete.
python programma.py
Questa è la modalità utilizzata per lo sviluppo di applicazioni strutturate.
—
2.4 Editor e IDE
Un programma Python può essere scritto con un semplice editor di testo, ma in genere
si utilizzano ambienti più avanzati:
- editor di codice (es. Visual Studio Code);
- IDE completi (es. PyCharm).
Un IDE fornisce funzionalità come:
- evidenziazione della sintassi;
- controllo degli errori;
- debugger;
- gestione dei progetti.
Dal punto di vista del linguaggio, non esiste alcuna differenza tra codice scritto
con un IDE o con un editor minimale: ciò che conta è il file .py.
—
2.5 Struttura di un programma Python
Un programma Python è costituito da una sequenza di istruzioni eseguite
dall’alto verso il basso.
Esempio di programma minimale:
print("Benvenuti in Python")
x = 10
y = 20
print(x + y)
Ogni istruzione occupa una riga (o più righe logiche) e viene eseguita in ordine.
—
2.6 Commenti
I commenti sono porzioni di testo ignorate dall’interprete, utilizzate
per documentare il codice.
# Questo è un commento
x = 5 # commento a fine riga
Un buon uso dei commenti migliora la leggibilità e la manutenibilità del programma.
—
2.7 L’indentazione come costrutto semantico
In Python l’indentazione non è solo una convenzione stilistica,
ma un elemento sintattico e semantico.
Blocchi di codice (come quelli associati a if, for, while, funzioni)
sono definiti dall’indentazione.
if x > 0:
print("x è positivo")
print("valore:", x)
Tutte le istruzioni indentate allo stesso livello appartengono allo stesso blocco.
In Python non esistono parentesi graffe { } per delimitare i blocchi.
L’indentazione errata produce errori di sintassi o di logica.
—
2.8 Spazi e stile
La convenzione più diffusa prevede:
- 4 spazi per ogni livello di indentazione;
- niente tabulazioni mescolate agli spazi;
- righe non eccessivamente lunghe.
Queste regole sono formalizzate nella guida stilistica PEP 8.
—
2.9 Analisi di un primo programma completo
# Programma di esempio
nome = input("Inserisci il tuo nome: ")
print("Ciao", nome)
Analisi:
- la prima riga è un commento;
input()legge una stringa da tastiera;- il valore viene assegnato alla variabile
nome; print()produce l’output.
—
2.10 Riepilogo
- Un ambiente di sviluppo comprende interprete, editor e strumenti di esecuzione.
- Python può essere usato in modalità interattiva o script.
- Un programma Python è eseguito dall’alto verso il basso.
- L’indentazione definisce i blocchi di codice.
- Lo stile del codice è parte integrante della sua qualità.
—
2.11 Domande tipiche d’esame
- Che differenza c’è tra modalità interattiva e modalità script?
- Perché l’indentazione è semanticamente rilevante in Python?
- Cos’è un ambiente di sviluppo?
- Qual è il ruolo dei commenti in un programma?
—
2.12 Esercizi
Esercizi di comprensione
- Spiega perché Python non utilizza parentesi graffe per delimitare i blocchi.
- Descrivi i componenti minimi di un ambiente di sviluppo Python.
Esercizi pratici
- Scrivi un programma che stampi tre righe di testo a tua scelta.
- Scrivi un programma che chieda un numero e lo stampi preceduto da un messaggio.