Imparare Python da zero #01: commenti, indentazione, variabili e funzioni

In Python, come praticamente in tutti i linguaggi, i commenti possono essere di due tipi: su una singola riga o su più righe. Un commento su una sola riga si inserisce con il simbolo ‘#‘ mentre un commento composto da più righe inizia e finisce con la sequenza ‘“””‘ (triple virgolette).
Python comments

La cosa che invece differenzia Python da tutti gli altri linguaggi di alto livello è il fatto
che esso usa l’indentazione per identificare dei blocchi logici di codice da eseguire. Ad esempio, in un classico costrutto if-else, i blocchi di codice da eseguire per ciascuno dei due rami a seconda della validità o meno della condizione, che in genere negli altri linguaggi vengono identificati raggruppando le istruzioni tra parentesi graffe {}, in Python vengono identificati semplicemente con l’utilizzo dell’indentazione del codice stesso.

Python indentation

Nell’immagine precedente, oltre alla definizione dei blocchi da eseguire tramite l’indentazione, possiamo notare altre due cose:
– la definizione di una variabile intera ‘i’
– l’utilizzo del simbolo ‘:’ (due punti) nei costrutti if-else

Le variabili in Python non hanno necessità di essere dichiarate e non richiedono di esplicitarne il tipo. L’assegnamento di un valore ad un nome di variabile costituisce la dichiarazione e l’inizializzazione della variabile che è quindi pronta all’uso.
Nella figura seguente creiamo e poi stampiamo il valore di tre variabili, un intero, una stringa ed un numero con la virgola, senza esplicitarne il tipo:

Python variables

Le restrizioni sui nomi delle variabili in Python sono simili a quelle di quasi tutti gli altri linguaggi, ovvero:

– Possono iniziare solo con una lettere con il carattere ‘_’ (underscore)
– Possono contenere lettere, numeri ed underscore
– Non possono essere usate le “keywords“, ovvero le parole riservate del linguaggio.

Le keywords di Python sono:

and      continue  else      for      import    not      raise 
assert   def       except    from     in        or       return 
break    del       exec      global   is        pass     try 
class    elif      finally   if       lambda    print    while 

Vediamo invece ora come definire una funzione.
Per definire una funzione in Python si utilizza la keyword def seguita dal nome della funzione, dagli eventuali parametri e dal carattere ‘:’ (due punti) dopo dei quali iniziano le istruzioni che costituiscono il corpo della funzione.
Ad esempio:

def somma(n1, n2):
	print("Risultato =", n1+n2)

L’immagine seguente mostra la definizione di una funzione e la sua invocazione con i parametri necessari.

Pythons functions

Una funzione può anche essere definita con dei parametri opzionali. Si tratta di parametri per i quali viene specificato un valore di default e che non devono quindi necessariamente essere forniti nella chiamata alla funzione.
L’immagine seguente mostra una nuova versione della funzione somma in cui il secondo parametro è definito come opzionale tramite l’assegnamento del valore di default 5. Come si può vedere, in questo caso, la funzione puà essere invocata in 2 modi: passandogli entrambi i parametri oppure passandogliene solo uno. Nel secondo caso, per la variabile n2 viene utilizzato il valore di default per cui in output si ottiene il valore 15.

Python optional parameters

In questo caso la funzione somma stampa direttamente il risultato ma non ritorna nessun valore al chiamante. E’ però possibile definire delle funzioni che restituiscono un valore. Nella definizione della funzione non cambia nulla, nel senso che non è necessario specificare che la funzione ritorna un valore di qualche tipo. Basta semplicemente far ritornare alla funzione il valore desiderato tramite l’istruzione return seguita dal valore da restituire.
Modifichiamo quindi la funzione somma in modo che, anzichè stampare direttamente il risultato, restituisca il valore della somma che sarà poi stampato dal programma principale:

def somma(n1, n2=5):
	return n1+n2

i = 3
n = 10
ris = somma(i)
print(ris)

Python functions with return value

Leave a Reply

Your email address will not be published. Required fields are marked *