Sintassi

La maggior parte dei linguaggi di programmazione come C, C++, e Java usano le parentesi graffe per definire un blocco di codice.

Python usa l'indentazione.
Un blocco di codice inizia con l'indentazione e finisce con la prima riga non indentata.

Normalmente l'indentazione viene automaticamente eseguita dagli editor come VSCode, Atom, PyCharm, etc.

Indentazione

La maggior parte dei linguaggi di programmazione come C, C++, e Java usano le parentesi graffe per definire un blocco di codice.

Python usa l'indentazione.
Un blocco di codice inizia con l'indentazione e finisce con la prima riga non indentata.

Normalmente l'indentazione viene automaticamente eseguita dagli editor come VSCode, Atom, PyCharm, etc.

for i in range(1,20):
 print (i)
 if i == 10:
   break

I commenti

Un commento è una porzione di testo all'interno di un programma che non viene eseguito.

Può essere usato per fornire informazioni aggiuntive per aiutare a comprendere il codice. Essi descrivono ciò che accade all'interno di un programma.

Il carattere # viene utilizzato per iniziare un commento.

Possiamo avere commenti che si estendono fino a più linee. Un modo è quello di usare il simbolo dell'hash(#) all'inizio di ogni riga.

Oltre ai commenti normali si possono inserire più righe di commento una sotto l'altra inserendo tre apici all'inizio (''') e tre apici alla fine.

#Questo è un commento
#Commento su più righe
#Commento su più righe
#Commento su più righe

Operazioni aritmetiche

Python ha la capacità di fare calcoli.

Python supporta diversi tipi di operazioni aritmetiche che possono essere eseguite su numeri, variabili ed alcune combinazioni.

Gli operatori aritmetici principali sono:

  • + per la somma
  • - per la sottrazione
  • * per la moltiplicazione
  • / per la divisione
  • % per il modulo (restituisce il resto della divisione)
  • ** per l'elevamento a potenza
a = 1 + 3
a = 20 - 10
a = 6 * 5
a = 4 / 4
a = 33 % 2
a = 2 ** 5

Operatore +=

L'operatore più-uguale += fornisce un modo per aggiungere un valore ad una variabile esistente ed assegnare contemporaneamente il nuovo valore alla stessa variabile.

Nel caso in cui la variabile e il valore siano stringhe, questo operatore esegue una concatenazione di stringhe invece di un'aggiunta.

L'operazione viene eseguita sul momento, il che significa che sarà aggiornata anche qualsiasi altra variabile che punti alla variabile in fase di aggiornamento.

a = 0
a += 10
# É uguale a...
a = 0
a = a + 10

Operatore modulo %

Il modulo restituisce il resto di una divisione tra il dividendo ed il divisore.

Per esempio il risultato dell'espressione 4 % 2 rende 0, perché 4 è divisibile per 2 non da resto.Il risultato dell'espressione 7 % 3 restituirebbe 1, perché 7 diviso 3 da come resto 1.

zero = 4 % 4

nonzero = 6 % 5

Integer

Il tipo di dato integer è un numero intero che può essere scritto senza la parte decimale. Un intero può essere un numero positivo, un numero negativo o il numero 0.

Il numero 0 rappresenta un valore intero, ma lo stesso numero scritto come 0.0 rappresenterebbe un numero a virgola mobile.

a = 4
b = 1
c = -2
d = 0

Float

Un tipo di dati supportato è il numero a virgola mobile (float). Cioè è un numero che contiene una parte decimale.

Può essere usato per rappresentare numeri che hanno quantità frazionarie.

peso = 90.2
peso_perso = 0.2

String

Se si vuole usare il testo in Python, si deve usare una stringa.

Una stringa (tipo di dato string) è una sequenza di caratteri e viene creata inserendo il testo tra due virgolette singole o doppie.

Se una stringa deve essere spezzata in più linee, il carattere backslash \ può essere usato per indicare che la stringa continua sulla riga successiva.

usernome = "Mario Rossi"
professione = 'Modello'
stringa_lunga = "Questo è un esempio di stringa divisa \
su più linee."

Concatenazione delle stringhe

Python supporta l'unione (concatenazione) di stringhe usando l'operatore +.

L'operatore + viene utilizzato anche per operazioni di addizione matematica ma se  parametri passati all'operatore + sono stringhe, verrà eseguita la concatenazione.

Se il parametro passato a + contiene diversi tipi di dato Python segnalerà un errore.

a = "Ciao "
b = "Mondo"

risultato = a + b
frase_lunga = a + b + "!"

Variabili

Una variabile viene utilizzata per memorizzare dei dati che saranno utilizzati dal programma.

Questi dati possono essere un numero, una stringa, un valore booleano, una lista o qualche altro tipo di dati.

Concettualmente la variabile è una scatola ed il nome assegnatogli rappresenta un'etichetta incollata sulla scatola.

Ogni variabile ha un nome che può essere composto da lettere, numeri ed il trattino basso (underscore).

Il segno uguale = è usato per assegnare un valore ad una variabile. Dopo l'assegnazione iniziale, il valore di una variabile può essere aggiornato a nuovi valori a seconda delle necessità.

mio_nome = "Alessio"
userId = 100
vero = False

a = 100
a = 120

Errori

L'interprete Python segnalerà gli errori presenti nel tuo codice.

Per la maggior parte dei casi di errore, l'interprete ti segnalerà la riga di codice in cui l'errore è stato rilevato e posizionerà un carattere ^ sotto la porzione di codice in cui è stato rilevato l'errore.

if False BRAVI True:
            ^
SyntaxError: invalid syntax

ZeroDivisionError

Un ZeroDivisionError viene restituito quando rileva un'operazione di divisione in corso e il divisore è 0.

In matematica, dividere un numero per zero non ha un valore definito, quindi Python considera questa condizione come una condizione di errore e riporta un ZeroDivisionError e visualizza la riga di codice dove è avvenuta la divisione.

Questo può anche accadere se una variabile è usata come divisore e il suo valore è stato impostato o modificato a 0.

dividendo = 10
divisore = 0

risultato = dividendo / divisore
print (risultato)
ZeroDivisionError: division by zero

SyntaxError

Un SyntaxError capita quando una parte del codice non è corretta.
Questo può includere parole chiave errate, mancanti o troppe parentesi, operatori non corretti, troppe virgolette o altre condizioni.

anni = 39 = 4

print (anni)
SyntaxError: cannot assign to literal

NameError

Un NameError viene segnalato quando l'interprete Python rileva una variabile sconosciuta.

Questo può accadere quando una variabile viene utilizzata prima che le venga assegnato un valore o se il nome di una variabile è scritto in modo diverso da come è stata definita.

L'interprete Python visualizzerà la riga di codice in cui è stato rilevato il NameError e indicherà quale nome ha trovato che non è stato definito.

panni = 2

print (danni)
NameError: name 'danni' is not defined

Funzione print()

La funzione print() viene utilizzata per stampare testo, numeri o altre informazioni stampabili sulla console.

Può prende uno o più argomenti e rende in output ciascuno degli argomenti nella console, separati da uno spazio. Se non vengono forniti argomenti, la funzione print() stampa una riga vuota.

print ("Ciao Mondo!")

print (33)

pi = 3.14159

print (pi)
Ciao Mondo!
33
3.14159