Sintassi di base
Perché le regole esistono?
Sezione intitolata “Perché le regole esistono?”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.
L’indentazione: gli spazi contano!
Sezione intitolata “L’indentazione: gli spazi contano!”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 saleprepara il fornoLe 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'ifprint("Questa riga è FUORI dall'if") # questa viene eseguita sempreLo 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 blockMaiuscole e minuscole
Sezione intitolata “Maiuscole e minuscole”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) # Aliceprint(Nome) # BobFai attenzione anche a True e False: devono avere la prima lettera maiuscola. true o TRUE causano un errore.
Istruzioni su più righe
Sezione intitolata “Istruzioni su più righe”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 + 40print(risultato) # 100Oppure, se apri una parentesi, Python capisce da solo che l’istruzione non è ancora finita:
numeri = (1, 2, 3, 4, 5, 6)Il punto e virgola (non è necessario)
Sezione intitolata “Il punto e virgola (non è necessario)”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 evitarloa = 1; b = 2; print(a + b)
# Molto meglio così:a = 1b = 2print(a + b)Le parole riservate (keywords)
Sezione intitolata “Le parole riservate (keywords)”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 passNone break except in raiseTrue class finally is returnand continue for lambda tryas def from nonlocal whileassert del global not withasync elif if or yieldNon serve memorizzarle subito. Le incontrerai una alla volta; se Python segnala un errore sul nome di una variabile, controlla che non sia una keyword.