Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
Condizioni
Per definire più condizioni mutuamente esclusive si utilizza la parola chiave elif, seguita dalla
condizione e da :.
2
Cicli
Un iterabile è un qualsiasi oggetto in grado di restituire tutti gli elementi uno dopo l’altro,
come ad esempio liste, tuple, set, dizionari (restituiscono le chiavi), ecc.
Ciclo ‘for’
Si realizza un ciclo di questo tipo utilizzando la parola chiave for seguita dalla variabile
che sarà restituita dall'iterabile, dalla parola chiave in, dall'iterabile e da :.
Nell'esempio seguente si definisce la lista seq, un iterabile, ed un ciclo for che stampa il
quadrato dei suoi elementi.
Gli oggetti restituiti da un range possono essere inseriti in una lista con una operazione di
casting, come nell'esempio seguente. Nello stesso esempio viene mostrato come sia possibile
definire anche lo step (il passo) con cui dovranno essere generati gli elementi del range. Nella
3
seconda cella sono generati tutti i numeri pari compresi fra 0 (incluso) e 10 (escluso).
Nell'esempio seguente, un range è utilizzato per definire un ciclo for. Sono stampati i quadrati
dei numeri compresi fra 1 (incluso) e 6 (escluso).
Ciclo ‘while’
4
Istruzioni ‘break’ e ‘continue’
L'istruzione break permette di uscire dal blocco relativo ad un if, un for o un while senza
eseguire ulteriori istruzioni appartenenti al blocco stesso.
L'istruzione continue è utilizzata nei cicli. Permette di non eseguire ulteriori istruzioni del
blocco relative all'iterazione corrente e di passare all'iterazione successiva.
Le comprehension
Le comprehension sono uno strumento che ci permette di creare in modo conciso nuove liste,
set, e dizionari partendo da una sequenza di valori esistenti. Le comprehension ci permettono
anche di filtrare e trasformare gli elementi.
5
Possiamo filtrare gli elementi restituiti dal ciclo della comprehension (si veda la prossima
cella) e creare cicli innestati (si veda la cella successiva).
Map e filter
Il costrutto map applica una funzione ad una lista di valori restituiti da un iterabile (un
dominio per la funzione), restituendo un altro iterabile (il corrispondente codominio).
6
Il costrutto filter riceve una funzione booleana ed un iterabile. Il risultato è un iterabile che
restituisce solo gli elementi del primo iterabile che soddisfano la condizione definita dalla
funzione.
Funzioni
Una funzione modella un processo con una sequenza di istruzioni. Può operare su valori in
input e restituire valori in output. Una funzione si definisce con la parola chiave def seguita dal
nome della funzione, dalla lista dei parametri di input - racchiusi fra parentesi e separati da
virgole, e dal simbolo :. Segue, opportunamente indentato, il blocco di istruzioni della funzione
stessa. L'output restituito dalla funzione è definito dall'istruzione return. La seguente funzione
riceve in input la larghezza e l'altezza di un rettangolo e ne restituisce l'area.
Una funzione si invoca richiamandone il nome e definendone gli input. I valori in input
possono essere passati alla funzione semplicemente elencandoli nell'ordine in cui sono stati
definiti i corrispondenti parametri, oppure esplicitando i nomi dei parametri a cui sono
associati. In quest'ultimo caso l'ordine degli input può essere alterato.
7
Ad ogni parametro di una funzione possiamo associare un valore di default che sarà utilizzato
se non sarà fornito in modo esplicito un valore alternativo. Il valore di default di un parametro
è definito facendolo seguire al nome del parametro stesso, come nell’esempio seguente.
Una caratteristica molto particolare di Python, che lo distingue da molti altri linguaggi, è che le
sue funzioni possono restituire più valori. Si consideri l’esempio seguente.
8
La funzione midpoint riceve in ingresso le coordinate di due punti in uno spazio
bidimensionale e restituisce le coordinate del loro punto medio.
Eccezioni
In Python possiamo catturare e gestire le eccezioni. Basta racchiudere il blocco di codice che
può generare un’eccezione in un blocco try, e gestire il caso in cui l’eccezione sia generata nel
corrispondente blocco except.
Se il codice definito nel blocco try genera una eccezione, sarà eseguito il codice definito nel
blocco except, come nell’esempio seguente.
9
Possiamo sollevare un’eccezione esplicitamente con l’istruzione raise, come nell’esempio
seguente.
La gestione dei file in Python è estremamente semplice. Prepariamo Python a gestire un file
con l’istruzione open, alla quale dovremo fornire in input il nome del file.
Con l’istruzione write scriviamo del testo nel file appena aperto.
10
Finita la gestione del file, esso dovrà essere chiuso con l’istruzione close.
Riapriamo ora in lettura il file appena creato, inserendo esplicitamente il valore ‘r’ per il
parametro mode (‘r’ è comunque il suo valore di default).
11