Salta ai contenuti
Manuale LogoManuale Logo

Sintassi di base

Ogni linguaggio, compresi quelli umani come l’italiano, ha regole grammaticali. Se scrivi “io mangio la pizza” il significato è chiaro; cambiando l’ordine delle parole può diventare ambiguo.

Python segue le proprie regole di sintassi. Se ne violi una, si ferma e mostra un errore perché non riesce a interpretare l’istruzione.

Questa è una delle regole che distinguono maggiormente Python da altri linguaggi.

In Python, gli spazi all’inizio di una riga non sono decorativi: fanno parte del codice. Indicano quali istruzioni stanno “dentro” un blocco, come un if o un ciclo, e quali ne restano fuori.

Puoi paragonarlo a una ricetta:

Se hai la farina:
mescola con l'acqua
aggiungi il sale
prepara il forno

Le righe rientrate appartengono alla condizione “se hai la farina”. L’ultima viene eseguita comunque. Python organizza i blocchi allo stesso modo.

if 5 > 3:
print("Cinque è maggiore di tre") # questa riga è DENTRO l'if
print("Questa riga è FUORI dall'if") # questa viene eseguita sempre

Lo standard è usare 4 spazi per ogni livello di rientro. Non mescolare spazi e tabulazioni (il tasto Tab): causa problemi.

Se dimentichi il rientro, Python segnala l’errore:

if 5 > 3:
print("Errore!") # IndentationError: expected an indented block

Python distingue sempre tra lettere maiuscole e minuscole. Questo si chiama essere case-sensitive.

Per Python nome, Nome e NOME sono tre nomi diversi:

nome = "Alice"
Nome = "Bob"
print(nome) # Alice
print(Nome) # Bob

Fai attenzione anche a True e False: devono avere la prima lettera maiuscola. true o TRUE causano un errore.

Di solito scrivi un’istruzione per riga. Se un’istruzione è molto lunga e vuoi spezzarla, puoi usare il carattere \ alla fine della riga per dire a Python “continua alla riga successiva”:

risultato = 10 + 20 + \
30 + 40
print(risultato) # 100

Oppure, se apri una parentesi, Python capisce da solo che l’istruzione non è ancora finita:

numeri = (1, 2, 3,
4, 5, 6)

In alcuni linguaggi, ogni istruzione deve finire con ;. In Python non serve. Una riga = un’istruzione, e basta.

Potresti scrivere più istruzioni sulla stessa riga usando ;, ma è una cattiva abitudine che rende il codice difficile da leggere:

# Funziona, ma è meglio evitarlo
a = 1; b = 2; print(a + b)
# Molto meglio così:
a = 1
b = 2
print(a + b)

Python ha alcune parole speciali che hanno già un significato preciso nel linguaggio. Non puoi usarle come nomi di variabili.

Per esempio, if significa “se” per Python. Se provi a creare una variabile chiamata if, Python si confonde e dà errore.

Queste parole si chiamano keyword:

False await else import pass
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield

Non serve memorizzarle subito. Le incontrerai una alla volta; se Python segnala un errore sul nome di una variabile, controlla che non sia una keyword.