Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
COME SI PROGRAMMA IN PYTHON
3 forme di interazione
Esistono con l’interprete:
- La linea di comando—>utile per testare piccole porzioni di codice e utilizzare l’interprete Python
come una calcolatrice avanzata
- Con codice sorgente—>utile per programmi più complessi. Infatti mi permette di scrivere
porzioni di codice maggiori
- Da notebook—>una buona via di mezzo che mi permette di visualizzare anche grafici
Queste hanno caratteristiche differenti che le rendono utili in campi diversi. In ciascuna di esse
l’interprete eseguirà un comando alla volta e segnalando eventuali errori.
Come funzionano a seconda di quello con cui voglio interagire:
Linea di comando
Avvio dell’interprete dei comandi: ‘python’
1. Introduzione dell’istruzione
2. Output
3. Introduzione dell’istruzione
4. Output
5. ...(istruzioni una alla volta)
6. Prompt,
Quando si lavora da linea di comando, si interagisce con il ovvero lo spazio dedicato alla
scrittura delle varie istruzioni.
È possibile uscire dell’interprete con il comando ‘exit()’ oppure con ctrl+D
[versione più avanzata dell’interprete: ‘IPython’ che permette di accedere all’aiuto in linea, di
richiamare istruzioni già precedentemente utilizzate ed è completamente automatico in alcune
istruzioni del linguaggio.]
Codice di sorgente idle atom),
Scrittura del file sorgente—> tramite un editor di testo (come ad esempio o creo e
1. sorgente.py)
salvo con un nome (es. il file contenente delle istruzioni. Dunque scrivo il nome
atom sorgente.py).
dell’editor che voglio utilizzare + il nome del mio file (es. Successivamente
si aprirà lo spazio dedicato alla scrittura delle istruzioni e una volta terminato si può eseguire il
programma .
(punto 2)
Esecuzione del programma—> tramite linea di comando, digito ‘python +nome file’ (python
2. sorgente.py) e il calcolatore eseguirà in sequenza le istruzioni all’interno del programma.
Notebook
Si può lanciare dalla linea di comando attraverso l’istruzione ‘jupyter-notebook’.
1. Successivamente si aprirà una pagina all’interno del nostro browser web e da qui si potrà
2. iniziare ad editare il codice .
(punto 3)
Creo il file e inizio ad inserire le istruzioni.
3. Con shift+invio si possono separare i vari input/istruzioni
Essendo un applicativo web, è necessario interromperlo con le seguenti funzioni:
kernel shoutdown logout
- e successivamente
Per chiudere il programma nella linea di comando: Ctrl+C due volte
4. file sorgente.
Il metodo più conveniente per scrivere programmi più complessi è utilizzare un Per
farlo nel modo più pulito e ordinata possibile è utile scrivere in modo ordinato le istruzioni,
gestendo nel miglior modo gli spazi.
Ad esempio se si vogliono importare delle librerie, è utile dedicare l’inizio del file all’importazione
di quest’ultime.
Colombo Micol a.a. 2020/2021
Suddivisione del file sorgente:
Parte dichiarativa:
- Importazione di librerie —> insieme di istruzioni scritte da altri utenti che semplificheranno la
scrittura del nostro codice (es. l’istruzione “import math”)
- Importazione delle funzioni —> altro modo per arricchire le istruzioni presenti nel codice
Parte esecutiva:
- Sequenza di istruzioni —> dichiarazione delle variabili, da utilizzare per la scrittura vera e
propria delle istruzioni del codice
Elementi all’interno del file sorgente:
che si possono incontrare
- Commenti —> attraverso il simbolo #
- Istruzioni Python —> comandi veri e propri scritte una di seguito all’altra
- Indentazioni (equivalgono a premere 4 Dunque:
Istruzione 1
spazi o multipli di 4) —> servono a creare istruzione 2
dei blocchi di istruzioni per il controllo del istruzione 3
flusso dell’informazione (es per il ciclo for, Istruzione 4
while..).
Alcune accuratezze:
Case Sensitive,
—> Python è ovvero la stessa variabile scritta con delle maiuscole/minuscole
differenti viene riconosciuta come una variabile diversa (es. variabile ≠ Variabile).
—> Non è possibile utilizzare delle parole che sono riservate dall’interprete per precise funzioni.
Infatti qualsiasi linguaggio di programmazione (in questo caso Python) ha un’insieme di
identificatori che sono propri del linguaggio stesso e non possono essere utilizzati per altri scopi
(ad esempio come nomi delle variabili).
Alcune istruzioni:
Print(variabile) —> stampa a video una variabile
print(‘Hello World’)
Input(‘Stringa’) —> stampa la stringa a video e legge da tastiera quello che viene digitato
a=input(‘inserire il contenuto della variabile a’)
### a video mi appare:
Inserire il contenuto della variabile a_#digito 20
#Se voglio vedere cosa ho digitato:
print(a)
###a video:
20
È possibile leggere dei caratteri e salvarli in una variabile str attraverso l’istruzione raw_input
a=raw_input(‘inserisci dei caratteri’)
### a video:
Inserisci dei caratteri_#digito abcdef
Comando di uscita dal programma: Shift+Ctrl+D
Colombo Micol a.a. 2020/2021
LOGICA BOOLEANA
La logica booleana permette di formalizzare dei criteri di scelta che possono poi essere applicati
agli strumenti di elaborazione automatica delle informazioni e inoltre superare l’ambiguità del
linguaggio naturale. Attraverso questa, si fa infatti uso di tecniche algebriche che vengono
utilizzate per elaborare delle espressioni logiche.
Espressione booleana: False).
espressione che può assumere solo valore vero o falso (True o
Si tratta di una combinazione ben formata di:
- Operandi (variabili e costanti)
- AND, OR, NOT, XOR, —> <—>
Operatori ( [implicazione], [doppia implicazione] )
- Parentesi
- ...
Operandi:
Le variabili possono assumere solo due valori: True (vero, oppure 1) o False (falso, oppure 0).
[es: ciclo if è un’espressione booleana]
Operatori:
e le tavole di verità:
rispettive
—> Gli operatori AND e OR (detto anche ‘OR inclusivo’) si applicano a due variabili, mentre
l’operatore NOT solo ad una. operatore di moltiplicazione; operatore somma.
Inoltre l’operatore AND è anche detto OR è detto
L’operatore AND ha la precedenza su OR (moltiplicazione ha la precedenza sulla somma).
—> L’operatore XOR (detto anche ‘OR esclusivo’) è vero quando o A o B sono veri, ma discordi
(quindi uno deve essere vero e l’altro falso). L’operatore della doppia implicazione (<—>) è vero
quando A e B sono concordi (quindi entrambi veri o entrambi falsi). L’operatore dell’implicazione
singola (—>) è falso solo quando A è vero e B è falso [paragonabile alla verifica di un teorema: il
teorema è falso quando l’ipotesi è vera e la tesi è falsa]. Proprietà di De Morgan:
Alcune proprietà degli operatori booleani:
Colombo Micol a.a. 2020/2021
ISTRUZIONI CONDIZIONALI
Istruzioni in linguaggio Python e corrispondenza in flow chart
(rispettivamente a sx e a dx in entrambi gli esempi)
A seguito della condizione if... : (deve sempre terminare con : per far capire dove termina la
condizione) vi sarà obbligatoriamente il blocco di istruzioni indentato (di 4 spazi più a dx). Questo
primo blocco potrebbe essere seguito (perché non sempre è necessario) da un altro blocco di
istruzioni (inizializzato con else : , incolonnato alla condizione if) anch’esso indentato.
—> Il valore booleano della condizione determina quale dei due blocchi verrà eseguito (se si
verifica verrà eseguito il primo bocco di istruzioni; in caso contrario il secondo).
Le due alternative, dette ramificazioni, rappresentano flussi alternativi di esecuzione; perciò, per
distinguerli, Python usa l’indentazione. Dunque, grazie a questa, si riconosce a quale delle
ramificazioni appartiene un’istruzione.
—> temporaneamente, se non si sa subito che blocco di istruzioni scrivere dopo l’if, si potrebbe
mettere ‘pass’ così che non venga segnalato errore.
Condizioni annidate: un’espressione condizionale inserita nel corpo di un’altra espressione
condizionale (dunque nel ramo true e/o false sarà presente un’altra espressione condizionale).
Istruzioni alternative a più vie: sono presenti più espressioni condizionate, le quali risulteranno
quindi annidate. In questo caso può avvenire una semplificazione delle condizioni attraverso
l’utilizzo dell’abbreviazione di ‘else if’, ovvero ‘elif’ (se ci sono più condizioni). In un blocco di
questo tipo l’istruzione ‘else’ è facoltativa; se presente, deve essere l’ultima dell’elenco e
rappresenta l’azione da eseguire nel caso in cui nessuna delle condizioni precedenti è stata
soddisfatta.
Operatori a confronto:
Per effettuare un confronto tra due valori viene utilizzato il simbolo ==.
Come risposta verrà prodotto un risultato di tipo boolenano (quindi si ricaveranno i valori booleani
di Python, ovvero True o False).
Operatori logici:
Verranno utilizzati gli operatori, già presentati precedentemente, delle espressioni booleane, ad
esempio le istruzioni AND, OR o NOT.
Colombo Micol a.a. 2020/2021
I CICLI blocchi di codice,
Python mette a disposizione due istruzioni per gestire l’esecuzione ripetuta di while for.
istruzioni per la gestione dei cicli cicli
chiamate anche o, più semplicemente (loop): e
Dunque, nel momento in cui si vogliono ripetere delle stesse istruzioni n volte, si andrà a creare un
ciclo. Flow chart di un ciclo (a livello teorico)
Il ciclo while utilizza una condizione booleana, la quale se verificata da inizio alla ripetizione del
corpo del ciclo stesso.
La parte più complessa dell’implementazione è progettare la condizione e le istruzioni in modo
corretto senza effettuare errori. Uno strumento utile all’identificazione degli errori nei programmi
Trace table.
(debugging) è la Essa è una tabella che ci permette di simulare l’esecuzione di un
computer e di vedere come evolvono i contenuti delle variabili; eseguendo lo script e osservando
il cambiamento del valore delle variabili è dunque più semplice individuare eventuali errori o
malfunzionamenti. La tabella ha tante colonne quante sono le variabili presenti nello script (+ la
prima che indica la riga in cui è pres