Anteprima
Vedrai una selezione di 1 pagina su 5
Python - parte 2 Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

PYTHON - 2

ISTRUZIONI DI SELEZIONE

1) IF I costrutti if possono essere annidati tra loro

2) MATCH = switch case ("structural pattern matching"). I

pattern vengono valutati uno alla volta dall’alto verso il basso e

quando uno ha successo il codice abbinato viene eseguito,

mentre tutti gli altri pattern vengono scartati.

Il pattern utilizzato nell'istruzione dopo la parola chiave "case"

può essere di diverse tipologie:

➔ PATTERN LETTERALE: ogni case gestisce per ogni

variabile / espressione un singolo valore

COMBINAZIONE DI PIU’ PATTERN (OR):

➔ più

modelli alternativi possono essere combinati in

uno utilizzando |. Ciò significa che il pattern

risulta vero se almeno un'alternativa è vera. Le

alternative vengono provate da sinistra a destra

➔ PATTERN CON CONTROLLO: con questo

modello non è sufficiente il match del valore

con x ma deve essere superato il test

successivo if

➔ CAPTURE MATCHING: match seleziona il

pattern che ha la medesima struttura

Questo modello può contenere una logica di

corrispondenza ancora più complessa. Ad esempio:

- case ["a","b"] il confronto riguarda una →

coppia di valori ben precisi - case ["a", x ] il confronto

riguarda una coppia di valori dove il primo è "a" e il secondo,

arbitrario, lo pone nella variabile x - case ["a", _ ] il confronto

è soddisfatto per ogni lista di 2 elementi che inizia per "a". La

sotto-lista restante non viene memorizzata - case ["a", *x ] il confronto

riguarda una lista con almeno 1 valore dove il primo è

"a". I successivi vengono posti nella variabile (lista) x - case ["a", *_ ] il confronto

è soddisfatto per ogni lista che inizia per "a". La sottolista

restante non viene memorizzata.

3) TRY EXCEPT = permette di intercettare gli errori durante l'esecuzione di un

blocco di istruzioni e di correggerli. Consente quindi di evitare uno stop nell'esecuzione

del programma

a) SEMPLICE = viene eseguito il blocco_try e se non ci sono

errori lo completa ignorando il blocco_Error

associato all'except. Se invece si presenta un

errore l'esecuzione passa al blocco_Error

senza che l'esecuzione venga fermata

b) ARTICOLATA

= è possibile maneggiare specifici errori aggiungendo ulteriori sezioni except

con a fianco il codice dell'errore che si intende gestire.

= la sezione except senza alcun codice di errore associato è detta except di

default e permette di intercettare tutte le eccezioni. Tale clausola va messa in

fondo a tutte le clausole

= else è un'altra clausola facoltativa del costrutto che viene eseguita soltanto se

non sorge alcuna eccezione

= finally è anch'essa una clausola facoltativa viene eseguita in ogni caso, al

termine delle altre, anche se non si verifica alcuna eccezione

= Se non intendo eseguire nulla in corrispondenza di una sezione (voglio evitare

che il programma si fermi a causa di un errore) posso usare l'istruzione pass

4) INLINE IF = Python ha un operatore ternario che permette di eseguire istruzioni

condizionali if in una singola riga. La riduzione dello spazio aumenta la leggibilità del

codice

5) ASSERT = l'istruzione assert genera un errore quando la condizione associata è

falsa. Il suo funzionamento è simile all'istruzione if solo che generando un'eccezione

(AssertionError) il programma termina quando la condizione è falsa. Se è stata definita

l'istruzionecondizionata questa verrà eseguita al termine della gestione dell'errore. Se

la condizione è vera, non succede nulla e l'esecuzione prosegue con l'istruzione

immediatamente successive.

ISTRUZIONI DI ITERAZIONE

1) WHILE = consente di ripetere un blocco di codice fino a

quando la condizione risulta vera. Si usa quando il numero di

iterazioni necessarie non è noto in anticipo

= spesso per inizializzare la condizione del while è

necessario eseguire, fuori dal loop, almeno una volta il bloccoIterato

= incrementi da fare con n+=1

= 2 istruzioni molto importanti:

- break: interrompe ed esce dal ciclo. Il controllo passa alla prima istruzione

successiva alla struttura iterativa (quindi non eseguirà la componente else!)

- continue: interrompe l'iterazione corrente senza uscire dal ciclo. Il controllo

passa alla successiva iterazione (viene quindi riverificata la condizione!)

* ES A)

➔ simula costrutto iterativo a condizione finale repeat-until

Dettagli
Publisher
A.A. 2023-2024
5 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Jas00704 di informazioni apprese con la frequenza delle lezioni di Fondamenti di programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Brescia o del prof Sechi Marco.