Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Programmazione Python, dalle basi ai software, Dispense di Fondamenti di informatica

Il documento contiene i concetti più importanti da conoscere per imparare a programmare in linguaggio Python, si parte dalle basi, quindi dai tipi di dato alle istruzioni più semplici, fino ad arrivare a saper interagire con un file di testo sia per leggere che per scrivere; è un ottimo documento per chi deve sostenere l'esame di informatica/"fondamenti di informatica" del primo anno di Ingegneria.

Tipologia: Dispense

2020/2021

In vendita dal 15/01/2021

davidefois
davidefois 🇮🇹

4

(1)

1 documento

1 / 37

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Prontuario linguaggio Python Autore: Davide Fois
1
Prontuario riassuntivo di Informatica per linguaggio Python
CREATED BY DAVIDE FOIS
Sommario
TIPI DI DATO ELEMENTARE .............................................................................................................................. 2
ESPRESSIONI ARITMETICHE ............................................................................................................................. 2
CONCETTO DI VARIABILE ................................................................................................................................. 3
ISTRUZIONE DI ASSEGNAMENTO .................................................................................................................... 4
OPERAZIONI CON LE STRINGHE ....................................................................................................................... 5
FUNZIONI DI INPUT E OUTPUT PYTHON ......................................................................................................... 6
ISTRUZIONI CONDIZIONALI ............................................................................................................................. 7
ISTRUZIONI ITERATIVE ................................................................................................................................... 12
FUNZIONI PREDEFINITE DI PYTHON (built-in) ............................................................................................... 17
LIBRERIE ......................................................................................................................................................... 18
LIBRERIA MATH .......................................................................................................................................... 20
LIBRERIA RANDOM .................................................................................................................................... 21
TIPI DI DATO STRUTTURATI O COMPOSTI ..................................................................................................... 21
LISTE ........................................................................................................................................................... 22
DIZIONARI .................................................................................................................................................. 26
FUNZIONI DEFINITE........................................................................................................................................ 28
LETTURA E SCRITTURA SU FILE ...................................................................................................................... 31
FUNZIONI LETTURA .................................................................................................................................... 33
FUNZIONI DI SCRITTURA ............................................................................................................................ 36
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25

Anteprima parziale del testo

Scarica Programmazione Python, dalle basi ai software e più Dispense in PDF di Fondamenti di informatica solo su Docsity!

Prontuario riassuntivo di Informatica per linguaggio Python

CREATED BY DAVIDE FOIS

  • TIPI DI DATO ELEMENTARE Sommario
  • ESPRESSIONI ARITMETICHE
  • CONCETTO DI VARIABILE
  • ISTRUZIONE DI ASSEGNAMENTO
  • OPERAZIONI CON LE STRINGHE
  • FUNZIONI DI INPUT E OUTPUT PYTHON
  • ISTRUZIONI CONDIZIONALI
  • ISTRUZIONI ITERATIVE
  • FUNZIONI PREDEFINITE DI PYTHON (built-in)
  • LIBRERIE
    • LIBRERIA MATH
    • LIBRERIA RANDOM
  • TIPI DI DATO STRUTTURATI O COMPOSTI
    • LISTE
    • DIZIONARI
  • FUNZIONI DEFINITE
  • LETTURA E SCRITTURA SU FILE
    • FUNZIONI LETTURA
    • FUNZIONI DI SCRITTURA

TIPI DI DATO ELEMENTARE

In informatica, ed in particolare nella programmazione, si interagisce spesso con dei dati, e questi per poter essere utilizzati correttamente, devono essere classificati in base al loro tipo: nome simbolo esempio descrizione interi int (^) - ∞, 1, 2, - 4, 7, - 2, 12, +∞ Sono tutti i numeri interi, positivi e negativi frazionari float^ - ∞, 2.5, 7.3, 2.7, - 4.2, +∞ Sono tutti i numeri con la virgola, positivi e negativi stringhe string^ “ciao mondo”,^ “Python”^ Sono delle sequenze di caratteri identificate come testo booleani bool True, False Sono quei valori che possono assumere solo due opzioni, vero oppure falso, e vengono adoperati per i controlli Tutti questi tipi di dato vengono adoperati durante la programmazione per eseguire delle espressioni aritmetico-logiche o delle istruzioni.

ESPRESSIONI ARITMETICHE

Con i tipi di dato elementare sopra citati, si possono eseguire delle espressioni aritmetiche, utilizzando i corrispettivi operatori:

simbolo operatore descrizione esempio

  • (^) somma Esegue l’addizione^ tra due operandi^ 2 + 2 = 4
  • sottrazione Esegue la^ differenza^ tra due operandi^5 –^ 3 = 2
  • (^) moltiplicazione Esegue la^ moltiplicazione^ tra due operandi^ 4 * 8 = 32 / divisione Esegue la^ divisione^ tra due operandi^ 3 / 2 = 1. // (^) divisione INTERA Esegue la^ divisione^ tra due operandi, ma nel caso in cui il risultato fosse un numero con la virgola (ovvero parte intera + parte decimale), restituisce solo la parte intera 3 / 2 = 1 % (^) modulo Esegue la divisione intera tra due^ operandi e restituisce l’eventuale resto 5 % 2 = 1 ** (^) elevamento a potenza Esegue l’elevamento a potenza di due operandi 2 ** 3 = 8

ISTRUZIONE DI ASSEGNAMENTO

L’istruzione di assegnamento, ci permette di assegnare un determinato valore o una istruzione ad una variabile. Come l’immagine sopra mostra, una istruzione di assegnamento in linguaggio Python, permette di far assumere ad una determinata variabile un valore a nostra scelta durante la programmazione. Come visto in precedenza, nelle variabili possiamo memorizzare tutti i tipi di dato elementari e composti, e questo ci permette di eseguire quindi delle operazioni aritmetiche direttamente con le variabili che contengono i valori interessati e memorizzarne il risultato in un’altra variabile L’istruzione di assegnamento si scrive con il simbolo “ = “, da non confondere con il simbolo “ == “ che vedremo in seguito

OPERAZIONI CON LE STRINGHE

Quando si opera con le stringhe , ci sono alcuni accorgimenti da fare; per quanto riguarda l’assegnamento funziona allo stesso identico modo di qualsiasi altro tipo di dato elementare:

nome = “mario”

Quando però abbiamo l’esigenza di memorizzare all’interno della stessa variabile 2 stringhe differenti, possiamo utilizzare l’operatore “+” che in questo caso non fa una somma (anche perché non vi sono valori numerici), ma CONCATENA le 2 stringhe:

persona = “mario” + “rossi”

In questo caso se dovessimo vedere il valore all’interno della memoria, nella variabile persona vedremmo: mariorossi Concatenare due o più stringhe, significa unire le stringhe, uguali o diverse, per ottenerne solamente una, composta dalle stringhe che vengono concatenate Quando abbiamo l’esigenza di rappresentare l’interruzione della riga, il così detto “ andare a capo ”, viene in nostro aiuto il carattere di newline Si rappresenta con il simbolo: \n Esempio:

print(“Ciao io sono Mario\nsono un ingegnere”)

ISTRUZIONI CONDIZIONALI

Durante la programmazione si ha la necessità di prendere delle scelte in base a dei risultati che otteniamo dai nostri calcoli e queste possono essere prese in base a delle condizioni. Per prendere queste scelte, in primis, abbiamo bisogno di fare dei confronti, e per poterli fare vengono in nostro aiuto i così detti operatori di confronto:

simbolo nome esempio esito descrizione

== (^) uguaglianza 5 == 5 (^) vero Controlla se il primo valore è uguale al secondo != diversità 5 != 5 falso Controlla se il primo valore è diverso dal secondo < (^) minoranza 5 < 10 (^) vero Controlla se il primo valore è minore del secondo

(^) maggioranza 5 > 10 (^) falso Controlla se il primo valore è maggiore del secondo <= minore o uguale 5 <= 5 vero Controlla se il primo valore è minore o uguale del secondo = maggiore o uguale 6 >= 5 vero Controlla se il primo valore è maggiore o uguale al secondo Come mostrato nella tabella, ognuno di questi operatori, restituisce un esito, che può essere vero oppure falso, infatti nel linguaggio Python abbiamo due tipi di valori che

corrispondono a questo e stono i valori booleani True e False.

Possiamo ottenere questi due tipi di risultati quando facciamo un confronto tra valori o variabili e prende il nome di istruzione condizionale if-else Questa tipologia di istruzione ci permette di effettuare un controllo e in base al suo stato, vero o falso, possiamo eseguire determinate istruzioni.

if condizione:

istruzioni…

else:

altre istruzioni…

Questo blocco ci permette di eseguire delle istruzioni quando la condizione indicata

dopo if e prima dei due punti ( : ) risulta essere, VERA; quando invece la condizione

risulta essere FALSA, possiamo gestire questo caso ed eseguire altre istruzioni solo se la condizione non è vera. Le istruzioni condizionali quindi si basano su un controllo di una determinata condizione, e se questa risulta essere vera vengono eseguite delle istruzioni; a sua volta, nel caso in cui avessimo la necessità di eseguire altre istruzioni quando la

condizione risulta essere falsa, possiamo utilizzare la nomenclatura else, traduzione

di “altrimenti” , che ci permette questo.

esempi di confronti:

  • 1 < 2 produce True perché 1 è più piccolo di 2;
  • a + 1 != 5 produce False se il valore associato alla variabile a è 4, altrimenti produce True;
  • x == y produce True se le due variabili hanno lo stesso valore, altrimenti produce False;
  • "macchina" < "casa" produce False perché la prima stringa è più lunga della seconda;
  • "Macchina" < "casa" produce True;
  • "mappa" + "mondo" == "mappamondo" produce True perché la concatenazione produce una nuova stringa;
  • "123" < "Casa" produce True perché la prima stringa è più lunga della seconda; Può capitare di avere l’esigenza di effettuare due confronti nella stessa condizione di if e decidere anche quanta importanza attribuirgli. Questo è possibile farlo con i così detti operatori logici:

OPERATORE SIGNIFICATO ESEMPIO CONFRONTO

AND “e” congiunzione if^ condizione1^ and^ condizione

OR “o” congiunzione if^ condizione1^ or^ condizione

NOT Avverbio “non” if not^ condizione

Questi operatori logici, ci permettono di eseguire delle istruzioni effettuando prima dei controlli più accurati che possono coinvolgere due o più condizioni contemporaneamente.

Per far sì che avvengano le ripetizioni, bisogna stabilire una condizione che non potrà rimanere vera per sempre, ma bisogna gestire una condizione che prima o poi diventerà falsa per poter concludere le ripetizioni ed uscire dal ciclo: In questa immagine, sono rappresentati due cicli particolari che non hanno nessuna utilità, in quanto il primo ripete all’infinito ed il secondo non verrà mai eseguito; è necessario quindi gestire queste casistiche, creando una condizione che dovrà essere vera per un certo numero di ripetizioni e che ad un certo punto diventerà falsa, dando quindi la possibilità all’interprete Python, di uscire dal ciclo e proseguire con le istruzioni. Proprio per questo motivo è necessario adottare un metodo che comporta l’utilizzo di una variabile di conteggio , per eseguire le ripetizioni del ciclo, e per permettergli di uscire al momento opportuno. Questa variabile viene chiamata CONTATORE O INDICE e verrà incrementata o decrementata ad ogni ripetizione delle istruzioni, per permettere alla variabile di cambiare valore e di conseguenza anche la condizione del while.

STRUTTURA DEL BLOCCO WHILE E I SUOI COMPONENTI

Ovviamente questa struttura sopra indicata è solo un esempio di come spesso il blocco while è costruito. A volte la condizione di ripetizione può interagire con più variabili, può non avere un contatore da dover incrementare oppure che l’incremento stesso del contatore possa trovarsi all’interno di un blocco if, e quindi eseguire il conteggio solo in determinate condizioni. Nella pagina successiva vediamo le fasi tipo del ciclo while come vengono eseguite dall’interprete Python, eseguendo istruzione per istruzione…

Può capitare di avere l’esigenza di interrompere la ripetizione di un ciclo while, prima ancora che la condizione diventi falsa. Questo è possibile farlo con l’istruzione break. Questa istruzione, traduzione del verbo inglese “rompere” , ci permette di interrompere l’esecuzione del ciclo in un determinato punto. Solitamente viene inserito all’interno di una istruzione condizionale, che anch’essa si trova dentro il ciclo: Questo esempio, mostra un programma che apparentemente dovrebbe ripetere le istruzioni 100 volte, data la condizione del while, ma possiamo vedere che nella shell, la stampa della parola “Python”, avviene solo per 4 volte e poi il programma si interrompe. Questo è dato dal fatto che ad ogni ripetizione delle istruzioni, il contatore viene sempre controllato, e quando arriverà ad assumere il valore 3, la condizione dell’if diventerà vera, e verrà eseguita la sua istruzione all’interno, ovvero break , che automaticamente interromperà le ripetizioni del ciclo e passerà alle istruzioni successive al blocco; in questo caso il programma termina perché non vi sono altre istruzioni da eseguire.

FUNZIONI PREDEFINITE DI PYTHON (built-in)

Il linguaggio Python dispone di alcune funzioni predefinite, che ci aiutano durante la programmazione: funzione nome esempio descrizione Valore assoluto di un valore o di una variabile abs abs(-1)

1 Restituisce il valore assoluto del valore/variabile che viene passato come parametro Lunghezza di un valore o di una variabile len len(“ciao”)

4 Restituisce la lunghezza del valore, può essere la lunghezza di una stringa, ovvero da quanti caratteri è composta Tipo di dato di una variabile o valore type nome = “mario” type(nome)

<class 'str'> Restituisce il tipo di dato che viene passato come parametro della funzione Conversione di tipo di una variabile o di un valore Int str float anno = 2000 str(anno)

‘2000’ Converte determinati valori in un altro tipo di dato, ovviamente devono essere compatibili, una stringa composta da caratteri non può essere convertita in float o int Ognuna di queste funzioni, può essere usata durante la programmazione di algoritmi, e ognuna di esse ha una utilità specifica che in base al problema che dobbiamo risolvere, ci semplifica il nostro codice. Per esempio potremmo utilizzare la funzione abs quando dobbiamo costruire un programma che ci permetta di fare calcoli complessi; potremmo utilizzare la funzione type, quando un programma persiste nel restituirci degli errori e dobbiamo essere sicuri che i valori e le variabili con cui stiamo interagendo siano del tipo giusto; oppure convertire i tipi di dato quando dobbiamo per esempio concatenare delle stringhe ed in alcune di queste sono presenti numeri interi che devono essere per forza convertiti in stringhe.

L’istruzione per importare le librerie funziona in questo modo: Se per esempio avessimo la necessità di calcolare la radice quadrata di un numero, anzi che costruirci il calcolo con gli operatori aritmetici elementari, possiamo semplicemente importare la funzione per questo calcolo dalla libreria math:

from math import sqrt

Da questo punto in poi del programma potremmo utilizzare la funzione sqrt() per

calcolarci la radice quadrata di un numero:

>>> sqrt(9)

Come si può ben notare, il risultato è un numero frazionario, ovvero con la virgola, è stato impostato questo tipo di dato per i risultati delle funzioni presenti nella libreria

math, perché è presumibile che qualche risultato abbia la parte decimale e che sia

importante riportarla Può capitare di dover importare una libreria e dover utilizzare più funzioni, per questo motivo, non è necessario specificare tutte le funzioni da importare, si può utilizzare il carattere “ * ”che in ambito di gestione dei dati è la traduzione di ALL, ovvero tutto; questo ci permette di poter importare tutta la libreria from math import *

È importante ricordare che per poter utilizzare una funzione di una libreria, è necessario importarla prima di scrivere l’istruzione che utilizza la funzione. Se accidentalmente si dovesse scrivere una funzione appartenete alla libreria math, e solo dopo importare la libreria, l’interprete Python non riuscirà a capire da dove prendere quella funzione e restituirà un errore.

LIBRERIA MATH

FUNZIONE DESCRIZIONE SIMBOLO sqrt(x) Calcola la radice quadrata dell’argomento x x sin(x) (^) Calcola il seno dell’argomento x (espresso in radianti) sin x cos(x) Calcola il coseno dell’argomento x (espresso in radianti) cos x tan(x) (^) Calcola la tangente dell’argomento x (espresso in radianti) tan x asin(x) Calcola l’arco-seno dell’argomento x (che deve essere presente in [-1, 1]) arcsin x acos(x) Calcola l’arco-coseno dell’argomento x (che deve essere presente in [-1, 1]) arcos x atan(x) (^) Calcola l’arco-tangente dell’argomento x arctan x radians(x) Converte in radianti un angolo espresso in gradi  → 180  degrees(x) Converte in gradi un angolo espresso in radianti 180  →  exp(x) (^) Calcola la funzione esponenziale a potenza x ex log(x) Calcola il logaritmo naturale ln con argomento x ln x log(x,b) Calcola il logaritmo in base b con argomento x log b x log10(x) Calcola il logaritmo in base 10 con argomento x log 10 x pow(x,y) Calcola la potenza di x elevato y xy Quando si importa tutta la libreria math, oltre a queste funzioni, sono definite anche delle costanti matematiche e queste sono:

costante simbolo valore

pi 

pi

e e >>> e

Queste al di sopra rappresentare sono le funzioni presenti all’interno della libreria math di Python. Ovviamente ognuna di queste, necessita di seguire delle regole prestabilite per evitare di ottenere errori o bug del sistema.