L’indentazione del codice Python

In tutti i linguaggi di programmazione più comuni, per delimitare un blocco di istruzioni si utilizzano dei segnaposto che identificano l’inizio e la fine del blocco stesso.

Ad esempio il Pascal utilizza le parole chiave begin e end mentre il linguaggio C utiliza le parentesi graffe:

L’indentazione che si può osservare in questo esempio è inserita per rendere più leggibile il codice ma non perché il Pascal o il Linguaggio C lo impongono (come vedremo, invece, succede per il Python).

La stessa istruzione si poteva scrivere:

if a>0 then begin val_assoluto := a end else begin val_assoluto := -a end;

e sarebbe stata perfettamente riconosciuta dal Pascal (ma sarebbe stata molto meno chiara e leggibile per noi)

Il Python invece utilizza solo il rientro del codice (in generale di quattro spazi) e il carattere : (due punti) per definire l’elenco delle istruzioni che fanno parte di un particolare blocco:

if a>0:
    va_assoluto = a
else:
    val_assoluto = -a

In questo esempio il blocco è definito da una sola istruzione ma non sarebbe cambiato nulla se le istruzioni fossero state in numero maggiore: l’importante è che le istruzioni da eseguire nel caso si fosse verificata la condizione a>0, sono quelle spostate di quattro spazi a destra

Se invece la condizione non si fosse verificata (cioè a fosse minore o uguale a 0), allora sarebbero state eseguite tutte le istruzioni appartenenti al blocco dell’else (che anche in questo caso, sono rappresentate da una sola istruzione).

Le istruzioni indentate possono essere presenti solo quando si utilizza una selezione, una ripetizione oppure una combinazione di esse (come è stato chiarito nella sezione precedente, la sequenza viene eseguita sempre nello stesso ordine quindi non ci possono essere istruzioni che vanno eseguite solo in alcuni casi)