Se hai mai programmato in Java, PHP, C, C++ o C# ti sarai abituato a delimitare ogni riga di codice con il punto e virgola (;
).
Avrai acquisito anche l’abitudine di usare le parentesi graffe ({}
) per racchiudere il contenuto di cicli, funzioni e classi.
Con Python questi elementi non sono essenziali, per cui la sua sintassi risulterà molto più semplice e pulita.
Indice riassuntivo
Indentazione significativa
Nei linguaggi di programmazione la sintassi può essere caratterizzata due tipi di indentazione:
- non significativa
- significativa
Nel primo caso, l’indentazione (o nidificazione) non è fondamentale per mantenere una corretta sintassi o per eseguire correttamente il codice.
Ad esempio, in PHP l’indentazione non è significativa, per cui le due porzioni di codice che seguono sono corrette:
<?php
$count = 0;
while ($count < 10) {
echo 'Ciclo numero ' . $count;
$count++;
}
<?php
$count = 0;
while ($count < 10) { echo 'Ciclo numero ' . $count; $count++; }
L’interprete di PHP ignorerà gli spazi bianchi o eventuali indentazioni e andrà a eseguire il codice sulla base di punti e virgola (;
), per separare le espressioni di codice, e parentesi graffe ({}
), per riconoscere classi o strutture di controllo.
Invece in Python sono le indentazioni (spazi bianchi) a garantire una corretta esecuzione del programma. Quindi la correttezza della sintassi dipende da un’indentazione significativa.
Ora fai attenzione a questa porzione di codice in Python:
def test():
count = 0
while count < 10:
print(count)
count = count + 1
test()
Da come puoi vedere non abbiamo parentesi graffe o punti e virgola ma continue indentazioni del codice e doppi punti (:
) per iniziare una funzione o un ciclo (e anche altro che vedremo in futuro).
Ora non è fondamentale che tu capisca il meccanismo di questo codice, ma è importante che tu riconosca la struttura della sintassi.
A detta di molti, questa caratteristica rende il codice in questo linguaggio più chiaro da leggere e da seguire durante la sua stesura.
Se non ancora risultasse chiaro, queste sono porzioni di codice Python con una sintassi errata:
def test():
count = 0
while count < 10:
print(count)
count = count + 1
test()
name = 'Michele'
if name == 'Michele':
print("Hello Michele")
Commenti nel codice
I commenti sono fondamentali per descrivere un programma così da non dimenticare cosa fa una funzione o una determinata porzione di codice.
In Python per scrivere un commento si inizia con il simbolo cancelletto (#) seguito da un testo:
# Qui ho definito una variabile con un nome
nome = "Michele"
È bene ricordare che l’interprete ignorerà il commento durante l’esecuzione del programma.
In un articolo dedicato vedremo nello specifico i commenti e altre modalità per scriverli.
Continuazione di una espressione o istruzione
Quando scriviamo codice Python, ogni volta che andiamo a capo stiamo scrivendo una nuova riga di codice, detta anche espressione o istruzione.
Ecco un esempio:
anni = 32
nome = 'Luca'
scuola = 'scientifico'
if (anni > 18) and (nome == 'Luca') and (scuola == 'scientifico'):
print(nome + " è maggiorenne e fa lo " + scuola)
Può capitare che una specifica espressione diventi troppo lunga e abbiamo bisogno di andare a capo.
Ma non possiamo farlo direttamente. In Python quando dobbiamo continuare una riga di codice sulla prossima usiamo il backslash (\
).
Nel caso del codice visto poco fa, possiamo andare a capo dopo l’ultimo “and
” mettendo il backslash (\
) subito dopo:
anni = 32
nome = 'Luca'
scuola = 'scientifico'
if (anni > 18) and (nome == 'Luca') and \
(scuola == 'scientifico'):
print(nome + " è maggiorenne e fa lo " + scuola)
Parole chiave
Python ha un suo set di parole chiave che definiscono i costrutti del linguaggio.
Un costrutto di un linguaggio può permetterci di eseguire un loop, determinare una struttura di controllo o definire una classe.
Ecco una lista delle parole chiave in Python:
- False
- None
- True
- and
- as
- assert
- break
- is
- lambda
- raise
- return
- class
- continue
- def
- del
- elif
- else
- except
- nonlocal
- not
- try
- while
- with
- finally
- for
- from
- global
- if
- import
- in
- or
- pass
- yield