Il 0% ha trovato utile questo documento (0 voti)
6 visualizzazioni17 pagine

Informatica

Python è un linguaggio di programmazione interpretato e multipiattaforma creato da Guido Van Rossum nel 1991. È un linguaggio di scripting flessibile che supporta diversi stili di programmazione. Python gestisce la memoria in modo automatico e ha un'ampia libreria di oggetti integrati.

Caricato da

Arianna Incerti
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
6 visualizzazioni17 pagine

Informatica

Python è un linguaggio di programmazione interpretato e multipiattaforma creato da Guido Van Rossum nel 1991. È un linguaggio di scripting flessibile che supporta diversi stili di programmazione. Python gestisce la memoria in modo automatico e ha un'ampia libreria di oggetti integrati.

Caricato da

Arianna Incerti
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

PYTHON creato da Guido Van Rossum, 1991,omaggio ai comici MONTY PYTHON

PERFORMANTE:i programmi vengono automaticamente compilati in un formato chiamato bytecode


OPENSOURCE: aperto al contributo della comunità
LINGUAGGIO DI SCRIPTING INTERPRETATO: uno stesso script può essere eseguito su sistemi operativi diversi.
INTEGRABILE CON ALTRI LINGUAGGI
MULTIPIATTAFORMA: ll codice può essere eseguito su qualsiasi piattaforma, purchè abbia python installato
SEMPLICE E INTUITIVO
USA L'INDENTAZIONE: l'inserimento di una certa quantità di spazio vuoto all'inizio di una riga di testo
FILE SALVATI : i file vengono salvati con l'estensione .py, rimangono file di testo e per eseguirli si usa il
software chiamato interprete
GESTISCE AUTONOMAMENTE LA MEMORIA: il programmatore può quindi usare variabili liberamente
MULTIPARADIGMA: permette di adottare uno stile di programmazione proceduale (funzioni,es linguaggio C)
,orientato agli oggetti (ereditarietà (java) e funzionale(iteratori)

OGGETTI BUILT-IN oggetti predefiniti all'interno di un linguaggio di programmazione. Sono creati dal programma
quando viene eseguito.

IDLE Integrated Development and Learning Environment. è un ambiente di sviluppo che permette di modificare e fare
il debug di programmi python da un'unica interfaccia
I COMMENTI usati per spiegare il codice Python. Iniziano con un # , possono essere inseriti alla fine di una riga .Per
aggiungere un commento su più righe puoi inserire un #per ogni riga .Oppure puoi usare una stringa
multilinea (""")
INPUT E PRINT Print e input servono rispettivamente a mostrare e a chiedere valori all'utente

LA PROGRAMMAZIONE STRUTTURATA si basa sul teorema di Böhm-Jacopini, un risultato dell'informatica teorica


secondo cui qualsiasi algoritmo si può codificare usando tre tipi di costrutti formati da blocchi di istruzioni:
- la sequenza, che esegue tutte le istruzioni dalla prima all'ultima
- la struttura condizionale, che fa eseguire certe istruzioni oppure altre, detta anche selezione (if, else)
- il ciclo iterativo, che esegue ripetutamente un blocco di istruzioni
CARATTERI DI FUGA è una barra rovesciata \seguita dal carattere che si desidera inserire \n Nuova linea
\r Ritorno a capo
\t Tabulazione
\"inserire doppie virgolette
VALORI BOOLEANI I booleani rappresentano uno dei due valori: Trueo False. dove non si può

Quando si confrontano due valori, l'espressione viene valutata e Python restituisce la risposta booleana
print(10 == 9)

Quando esegui una condizione in un'istruzione if, Python restituisce True or False
a = 200
b = 33
if b > a:
print("b is greater than a")
le funzioni possono restituire un booleano
La bool() funzione ti consente di valutare qualsiasi valore e darti Trueo False in cambio
La maggior parte dei valori sono veri
-Quasi tutti i valori vengono valutati True se hanno una sorta di contenuto.
-Qualsiasi stringa è True, tranne le stringhe vuote.
-Qualsiasi numero è True, tranne 0.
-Qualsiasi elenco, tupla, set e dizionario sono True, tranne quelli vuoti come (), [], {}, ""

la isinstance() funzione, che può essere usata per determinare se un oggetto è di un certo tipo di dati, es intero
x = 200
print(isinstance(x, int))
VARIABILI Per definirle è sufficiente utilizzare l'operatore di assegnamento (=) .Sono contenitori per la
memorizzazione di valori di dati.
Una variabile viene creata nel momento in cui le assegni per la prima volta un valore. Non devono essere
dichiarate e possono cambiare tipo dopo essere state impostate
In linguaggi come C, le variabili fanno riferimento a specifiche locazioni di memoria che dipende dal loro tipo (per
questo va specificato). In Python, gli oggetti hanno un tipo specifico e le variabili sono solo "etichette" che si si
riferiscono a un determinato oggetto.
-REGOLE PER I NOMI DELLE VARIABILI :
•deve iniziare con una lettera o con il carattere di sottolineatura
•non può iniziare con un numero
•può contenere solo caratteri alfanumerici e caratteri di sottolineatura (Az, 0-9 e _ )
•Python è un linguaggio case-sensitive, che distingue tra nomi di variabili composti da caratteri minuscoli e maiuscoli;
•Un nome di variabile non può essere nessuna delle parole chiave di Python
I 3 nomi più usati sono: CAMEL CASE
Ogni parola, tranne la prima, inizia con una lettera maiuscola
-PASCAL CASE
Ogni parola inizia con una lettera maiuscola
-SNAKE CASE
Ogni parola è separata da un carattere di sottolineatura

Python consente di assegnare valori a più variabili in una riga x, y, z = "Orange", "Banana", "Cherry"

Puoi assegnare lo stesso valore a più variabili in una riga x = y = z = "Orange"

Se hai una raccolta di valori in un elenco, una tupla, ecc. Python ti consente di estrarre i valori in variabili. Questo si
chiama unpacking. fruits = ["apple", "banana", "cherry"]
x, y, z = fruits print(x) print(y) print(z)
-CASTING: è un processo che converte il tipo di dati di una variabile in un altro tipo di dati. Viene eseguito utilizzando
le funzioni di costruzione: •int() - costruisce un numero intero da un valore
z = float("3") # z will be 3.0
•float() - costruisce un numero float da un valore
•str() - costruisce una stringa da un'ampia varietà di tipi di dati

-È possibile ottenere il tipo di dati di qualsiasi oggetto utilizzando la funzione type(): x = 5


print(type(x))
<classe 'int'>
NUMERI Ci sono tre tipi numerici in Python: int, float, complex

Le variabili di tipo numerico vengono create quando si assegna loro un valore: x = 1 # int
-INT :è un numero intero, positivo o negativo, senza decimali, di lunghezza illimitata.
-FLOAT: "numero in virgola mobile" è un numero, positivo o negativo, contenente uno o più decimali.
I float possono anche essere numeri scientifici con una "e" per indicare la potenza di 10. x = 35e3
-COMPLEX : I numeri complessi sono scritti con una "j" come parte immaginaria:
x = 3+5j
non è possibile convertire numeri complessi in un altro tipo di numero.

Python ha un modulo integrato chiamato random che può essere usato per creare numeri casuali:
import random
print([Link](1, 10))

TIPO CONVERSIONE
Puoi convertire da un tipo all'altro con i metodi int(), float(), e :complex() .Esempio:
x = 1 # int
y = 2.8 # float
z = 1j # complex
#convert from int to float:
a = float(x)
STRINGHE Sono racchiuse tra virgolette singole o virgolette doppie. Sono un tipo particolare di sequenze .

Si accedere agli elementi di una sequenza, usando la sintassi sequenza[indice] . Questo restituirà l'elemento in
posizione indice (il primo elemento ha sempre indice 0 ). Esempio: s = 'Python'
print(s[0]) # elemento in posizione 0 (il primo)
LE STRINGHE SONO MATRICI
sono matrici di byte che rappresentano caratteri Unicode. Python non ha un tipo di dati carattere, un singolo
carattere è semplicemente una stringa con una lunghezza di 1.
LOOPING ATTRAVERSO UNA STRINGA
Poiché le stringhe sono matrici, possiamo scorrere i caratteri in una stringa, con un ciclo for. for x in "banana":
print(x)
LUNGHEZZA DELLA STRINGA: Per ottenere la lunghezza di una stringa, utilizzare la len()funzione.
CONTROLLA STRINGA: Per verificare se una determinata frase o carattere è presente in una stringa, possiamo
utilizzare la parola chiave in
CONTROLLA SE NON: Per verificare se una determinata frase o carattere NON è presente in una stringa, possiamo
utilizzare la parola chiave not in.
SLICING STRINGS
è possibile selezionare parti di una stringa con l'operazione detta slicing che si basa sulla sintassi:
nome_stringa [inizio: fine: passo]
> inizio è l'indice del carattere da cui iniziare la selezione;
> fine è l'indice esterno al termine della selezione (l'ultimo carattere selezionato avrà quindi
l'indice fine-1);
> passo è l'intervallo tra un carattere selezionato e il successivo ed è un argomento facoltativo
La funzione print(stringa[0:]), seleziona l'intera stringa

INDICIZZAZIONE NEGATIVA,NEGATIVE INDEXING b = "Hello, World!"


Usa indici negativi per iniziare la sezione dalla fine della stringa: print(b[-5:-2])

Il format()metodo prende gli argomenti passati, li formatta e li inserisce nella stringa dove {}si trovano i segnaposto:
Esempio: Utilizzare il format()metodo per inserire numeri nelle stringhe:
age = 36
txt = "My name is John, and I am {}"
print([Link](age)

CONCATENAZIONE DI STRINGHE :Per concatenare o combinare due stringhe è possibile utilizzare l'operatore + e
*per ripetere sequenze:

METODI DI STRINGA: Nota: tutti i metodi stringa restituiscono nuovi valori. Non modificano la stringa originale
capitalize() Converte il primo carattere in maiuscolo
casefold() Converte la stringa in lettere minuscole
count() Restituisce il numero di volte in cui un valore specificato ricorre in una stringa
find() Cerca nella stringa un valore specificato e restituisce la posizione in cui è stato trovato
format() Formatta i valori specificati in una stringa
index() Cerca nella stringa un valore specificato e restituisce la posizione in cui è stato trovato
isalnum() Restituisce True se tutti i caratteri nella stringa sono alfanumerici
isalpha() Restituisce True se tutti i caratteri nella stringa sono nell'alfabeto
isdecimal() Restituisce True se tutti i caratteri nella stringa sono decimali
isdigit() Restituisce True se tutti i caratteri nella stringa sono cifre
islower() Restituisce True se tutti i caratteri nella stringa sono minuscoli
isnumeric() Restituisce True se tutti i caratteri nella stringa sono numerici
isupper() Restituisce True se tutti i caratteri nella stringa sono maiuscoli
lower() Converte una stringa in lettere minuscole
replace() Restituisce una stringa in cui un valore specificato viene sostituito con un valore specificato
split() Divide la stringa in corrispondenza del separatore specificato e restituisce un elenco
title() Converte il primo carattere di ogni parola in maiuscolo
upper() Converte una stringa in lettere maiuscole
OPERATORI Gli operatori vengono utilizzati per eseguire operazioni su variabili e valori.

OPERATORI ARITMETICI: vengono utilizzati con valori numerici per eseguire operazioni matematiche comuni:
+ Addition x + y - Subtraction x - y
* Multiplication x * y / Division x / y 9/4=2,25
% Modulo([Link]) x % y 9%4= 1 ** Exponentiation x ** y
// Divisione intera x // y 9//4=2

OPERATORI DI ASSEGNAZIONE: vengono utilizzati per assegnare valori alle variabili:


= x=5x=5 += x += 3 x = x + 3
-= x -= 3 x = x - 3 *= x *= 3 x = x * 3
/= x /= 3 x = x / 3 %= x %= 3 x = x % 3
//= x //= 3 x = x // 3 **= x **= 3 x = x ** 3

OPERATORI DI CONFRONTO: vengono utilizzati per confrontare due valori, che restituiscono true o false

== Equal x == y 8 == 8 True →
!= Not equal 8 != 8 False
> Maggiore di x > y 5 > 3 True→ →
< Less than x < y 3 < 5 True
>= Maggiore o uguale a x >= y 5 >= 3 → True <= Less than or equal to x <= y 3 <= 5 → True
OPERATORI LOGICI: vengono utilizzati per combinare istruzioni condizionali:
and Ritorna True se entrambi gli operandi sono veri, altrimenti False x < 5 and x < 10
or Ritorna True se almeno uno degli operandi è vero, altrimenti False x < 5 or x < 4
not Ritorna False se l'operando è vero, True se l'operando è falso not(x < 5 and x < 10)

OPERATORI DI IDENTITÀ: vengono utilizzati per confrontare gli oggetti, non se sono uguali, ma se sono
effettivamente lo stesso oggetto, con la stessa posizione di memoria:
is Returns True if both variables are the same object x is y
is not Returns True if both variables are not the same object x is not y

OPERATORI DI APPARTENENZA PYTHON


Gli operatori di appartenenza vengono utilizzati per verificare se una sequenza è presentata in un oggetto:
in Returns True if a sequence with the specified value is present in the object x in y
not in Returns True if a sequence with the specified value is not present in the object x not in y

OPERATORI BIT A BIT DI PYTHON, DETTI BINARI


Gli operatori bit a bit vengono utilizzati per confrontare i numeri (binari):
x << n esegue uno shift a sinistra di n posizioni dei bit di x
x >> n esegue uno shift a destra di n posizioni dei bit di x
x & y esegue un and tra i bit di x e di y
x | y esegue un or tra i bit di x e di y
x ^ y esegue un or esclusivo tra i bit di x e di y
~x inverte i bit di x

LISTE ANNIDATE una lista è contenuta come elemento all'interno di un'altra lista
lista1=[ 1, 2, 3, ["a", "b", "c"] ] contiene 4 elementi

COME CREARE UNA MATRICE CON LE LISTE NIDIFICATE


La lista nidificata è molto utile per creare le matrici nel linguaggio Python
Esempio: Utilizzo la list comprehension del linguaggio per creare una matrice identità.
n=5
matrice=[[(1 if x == y else 0)
for x in range(n)] for y in range(n)]
Il comando crea una matrice identità, ossia una matrice composta da una diagonale con il valore uno e tutti gli altri
elementi uguali a zero.
[ [1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1]]
Gli elementi della lista di 1° livello identificano le righe della matrice.
Gli elementi della lista di 2° livello ( lista nidificata ) identificano le colonne della matrice.
Se stampassi a video la lista, il risultato finale sarebbe il seguente:
[[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1] ]
vengono utilizzate per memorizzare più elementi in una singola variabile e per archiviare
LISTE
raccolte di dati. Vengono create utilizzando parentesi quadre
Esistono 4 tipi di dati di raccolta nel linguaggio di programmazione Python:
•List è una raccolta ordinata e modificabile anche dopo essere stata creata. Consente membri duplicati, perchè
è indicizzata
•Tuple è una raccolta ordinata e immutabile. Consente membri duplicati.
•Set è una raccolta non ordinata, immutabile e non indicizzata. Nessun membro duplicato.
•Il dizionario è una raccolta ordinata e modificabile. Nessun membro duplicato.

ORDINATE: gli articoli hanno un ordine definito che non cambierà. Aggiungendo nuovi elementi a un elenco,
posizionati alla fine
TIPO(): Dal punto di vista di Python, le liste sono definite come oggetti con il tipo di dati 'list': <class 'list'>
INDICIZZAZIONE NEGATIVA: significa iniziare dalla fine .-1si riferisce all'ultimo elemento

Per modificare il valore di un elemento specifico, fare riferimento al numero di indice. Esempio:
thislist = ["apple", "banana", "cherry"]
thislist[1] = "blackcurrant"
print(thislist)
Scorrere gli elementi dell'elenco usando un for ciclo. Esempio: Stampa tutti gli elementi nell'elenco, uno per uno:
thislist = ["apple", "banana", "cherry"]
for x in thislist:
print(x)

Si può scorrere gli elementi dell'elenco utilizzando un while ciclo. Utilizzare la len() funzione per determinare la
lunghezza dell'elenco, quindi iniziare da 0 e scorrere gli elementi dell'elenco facendo riferimento ai relativi indici.
Ricorda di aumentare l'indice di 1 dopo ogni iterazione.
Esempio: Stampa tutti gli elementi, utilizzando un while ciclo per scorrere tutti i numeri di indice
thislist = ["apple", "banana", "cherry"]
i=0
while i < len(thislist):
print(thislist[i])
i=i+1

UNISCITI A DUE LISTE


Esistono diversi modi per unire o concatenare due o più liste in Python.
Uno dei modi più semplici è utilizzare l' + operatore
ELENCO METODI
Python ha una serie di metodi incorporati che puoi usare nelle liste.
Descrizione del metodo
append() Aggiunge un elemento alla fine dell'elenco
clear() Rimuove tutti gli elementi dalla lista
copy() Restituisce una copia della lista
count() Restituisce il numero di elementi con il valore specificato
extend() Aggiunge gli elementi di un elenco (o di qualsiasi iterabile) alla fine dell'elenco corrente
index() Restituisce l'indice del primo elemento con il valore specificato
insert() Aggiunge un elemento nella posizione specificata
pop() Rimuove l'elemento nella posizione specificata
remove() Rimuove l'elemento con il valore specificato
reverse() Inverte l'ordine della lista
sort() Ordina l'elenco

DIFFERENZE TRA TUPLE E LISTE


CARATTERISTICHE TUPLE LISTE
Mutabilità immutabili mutabili
Lunghezza fissa variabile le tuple si usano quando vogliamo che il
Accesso agli elementi tramite indexing iterazione contenuto di una sequenza non vari durante la
Contengono oggetti eterogenei omogenei sua esistenza
Simile in C al tipo di dati struct array
TUPLE vengono utilizzate per memorizzare più elementi in una singola variabile.
è una raccolta ordinata e immutabile . Sono scritte con parentesi tonde

ELEMENTI DI TUPLA: sono ordinati, non modificabili e consentono valori duplicati.


Gli elementi tuple sono indicizzati, il primo elemento ha index [0]
-ORDINATO: significa che gli elementi hanno un ordine definito e quell'ordine non cambierà.
-IMMUTABILE: significa che non possiamo modificare, aggiungere elementi dopo che la tupla è stata creata.
-CONSENTI DUPLICATI: Poiché le tuple sono indicizzate, possono avere elementi con lo stesso valore:

METODI TUPLE
count() Returns the number of times a specified value occurs in a tuple
index() Searches the tuple for a specified value and returns the position of where it was found
Per determinare quanti elementi ha una tupla, usa la len()funzione:

LOOP ATTRAVERSO UNA TUPLA


È possibile scorrere gli elementi della tupla utilizzando un forciclo

DECOMPRESSIONE DI UNA TUPLA


Quando creiamo una tupla, normalmente le assegniamo dei valori. Questo si chiama "comprimere" una tupla:
Esempio: Comprimere una tupla:
fruits = ("apple", "banana", "cherry")
Ma, in Python, siamo anche autorizzati a estrarre i valori nelle variabili. Questo si chiama "disimballaggio":
Esempio: Spacchettamento di una tupla:
fruits = ("apple", "banana")
(green, yellow) = fruits
print(green)
print(yellow)

USANDO L'ASTERISCO*
Se il numero di variabili è inferiore al numero di valori, è possibile aggiungere un *al nome della variabile e i valori
verranno assegnati alla variabile come elenco:
Esempio: Assegna il resto dei valori come un elenco chiamato "rosso":
fruits = ("apple", "banana", "cherry", "strawberry", "raspberry")
(green, yellow, *red) = fruits
print(green)
print(yellow)
print(red)

CREA TUPLA CON UN ELEMENTO


Per creare una tupla con un solo elemento, devi aggiungere una virgola dopo l'elemento, altrimenti Python non lo
riconoscerà come tupla.
TIPO(): Dal punto di vista di Python, le tuple sono definite come oggetti con il tipo di dati 'tuple':
<class 'tuple'>
ACCEDI AGLI ELEMENTI DELLA TUPLA
Puoi accedere agli elementi della tupla facendo riferimento al numero di indice

INDICIZZAZIONE NEGATIVA
Indicizzazione negativa significa iniziare dalla fine.

MODIFICA I VALORI DELLA TUPLA


Una volta creata una tupla, non è possibile modificarne i valori. Ma c'è una soluzione alternativa. È possibile
convertire la tupla in un elenco, modificare l'elenco e riconvertire l'elenco in una tupla x = ("apple", "banana", "cherry")
-Aggiungi tupla a una tupla . Puoi aggiungere tuple a tuple, quindi se vuoi aggiungere un y = list(x)
elemento (o più), crea una nuova tupla con gli y[1] = "kiwi"
x = tuple(y)
elementi e aggiungila alla tupla esistente
print(x)

Nota: non è possibile rimuovere elementi in una tupla, va trasformata in lista


SET /INSIEMI utilizzati per memorizzare più elementi in una singola variabile. è una raccolta non ordinata ,
immutabile e non indicizzata . Gli insiemi sono scritti con parentesi graffe

NON ORDINATO: gli articoli in un set non hanno un ordine definito. Gli elementi del set possono
apparire in un ordine diverso ogni volta che li usi e non possono essere indicati tramite indice o chiave.
IMMUTABILE: non possiamo cambiare gli elementi dopo che il set è stato creato.
DUPLICATI NON AMMESSI: i non possono avere due elementi con lo stesso valore. I valori duplicati
verranno ignorati:

TIPO(): Dal punto di vista di Python, i set sono definiti come oggetti con il tipo di dati 'set': <class 'set'>

ACCEDI AGLI ELEMENTI: Non è possibile accedere agli elementi di un set facendo riferimento a un indice o a una
chiave. Ma puoi scorrere gli elementi dell'insieme usando un for ciclo, o chiedere se un valore specificato è
presente in un insieme, usando la inparola chiave.
IMPOSTA METODI
add() Adds an element to the set
clear() Removes all the elements from the set
copy() Returns a copy of the set
difference() Returns a set containing the difference between two or more sets
difference_update() Removes the items in this set that are also included in another, specified set
discard() Remove the specified item
intersection() Returns a set, that is the intersection of two other sets
intersection_update() Removes the items in this set that are not present in other, specified set(s)
isdisjoint() Returns whether two sets have a intersection or not
issubset() Returns whether another set contains this set or not
issuperset() Returns whether this set contains another set or not
pop() Removes an element from the set
remove() Removes the specified element
symmetric_difference() Returns a set with the symmetric differences of two sets
symmetric_difference_update() inserts the symmetric differences from this set and another
union() Return a set containing the union of sets
update() Update the set with the union of this set and others

DIZIONARI NIDIFICATI
Un dizionario può contenere dizionari, questo si chiama dizionari nidificati.

Esempio: Crea un dizionario che contenga due dizionari:


myfamily = {
"child1" : {
"name" : "Emil",
"year" : 2004
},
"child2" : {
"name" : "Tobias",
"year" : 2007
},
}
ACCEDI AGLI ELEMENTI NEI DIZIONARI NIDIFICATI
Per accedere agli elementi da un dizionario nidificato, si utilizza il nome dei dizionari, a partire dal dizionario esterno:
Esempio:Stampa il nome del bambino 2:
print(myfamily["child2"]["name"])
DIZIONARI utilizzati per memorizzare i valori dei dati in coppie chiave:valore.

Un dizionario è una raccolta ordinata*, modificabile e che non consente duplicati. I dizionari sono
scritti con parentesi graffe e hanno chiavi e valori:

ORDINATO : significa che gli elementi hanno un ordine definito e quell'ordine non cambierà. Non ordinato
significa che gli elementi non hanno un ordine definito, non è possibile fare riferimento a un elemento
utilizzando un indice.
VARIABILE: I dizionari sono modificabili, il che significa che possiamo cambiare, aggiungere o rimuovere
elementi dopo che il dizionario è stato creato.
DUPLICATI NON AMMESSI: I dizionari non possono avere due elementi con la stessa chiave. I valori
duplicati sovrascriveranno i valori esistenti
TIPO(): sono definiti come oggetti con il tipo di dati 'dict': <class 'dict'>

ACCESSO AGLI ELEMENTI


Puoi accedere agli elementi di un dizionario facendo riferimento al suo nome chiave, tra parentesi quadre:
Esempio: Ottieni il valore della chiave "modello":
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
x = thisdict["model"]
Un altro modo per fare una copia è utilizzare la funzione integrata dict(). o con copy()

METODI DEL DIZIONARIO


Python ha una serie di metodi incorporati che puoi usare sui dizionari.
Method Description
clear() Removes all the elements from the dictionary
copy() Returns a copy of the dictionary
fromkeys() Returns a dictionary with the specified keys and value
get() Returns the value of the specified key
items() Returns a list containing a tuple for each key value pair
keys() Returns a list containing the dictionary's keys
pop() Removes the element with the specified key
popitem() Removes the last inserted key-value pair
setdefault() Returns the value of the specified key. If the key does not exist: insert the key, with the specified value
update() Updates the dictionary with the specified key-value pairs
values() Returns a list of all the values in the dictionary

AGGIUNTA DI ELEMENTI
L'aggiunta di un elemento al dizionario viene eseguita utilizzando una nuova chiave di indice e assegnandole un valore

CONTROLLA SE LA CHIAVE ESISTE


Per determinare se una chiave specifica è presente in un dizionario utilizzare la inparola chiave:

MODIFICARE VALORI
È possibile modificare il valore di un elemento specifico facendo riferimento al nome della sua chiave:
Esempio: Cambia l'"anno" in 2018:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict["year"] = 2018
si usa l' ifistruzione per eseguire un codice a blocchi solo quando viene soddisfatta una
IF
determinata condizione

viene usato insieme agli operatori logici, a else e elif


a=2
Se hai solo un'istruzione da eseguire, una per if e una per else, puoi metterle tutte sulla stessa riga: b = 330
Questa tecnica è nota come operatori ternari o espressioni condizionali print("A") if a > b else print("B")
b
SE ANNIDATO:Puoi avere if istruzioni all'interno di istruzioni if .
questo è chiamato istruzioni nidificate . x = 41
if x > 10:
print("Above ten,")
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")
LA DICHIARAZIONE DI PASSAGGIO
If le istruzioni non possono essere vuote, ma se per qualche motivo hai un'istruzione if senza contenuto, inserisci l'
pass istruzione per evitare di ottenere un errore. a = 33
b = 200
if b > a:
pass

La parola chiave if può essere accompagnata da altre due:


-elif (corrispondente all’else if di molti altri linguaggi) propone un’alternativa da vagliare nel caso in cui la condizione
dell’if risulti falsa. Si possono concatenare più condizioni con elif;
-else: introduce un blocco di codice da eseguire se le condizioni dell’if e degli eventuali elif precedenti sono risultate
false.

ELSE La parola chiave else cattura tutto ciò che non è catturato dalle condizioni precedenti.

a = 200
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
a is greater than b
CICLO FOR Le strutture iterative o cicli sono una parte fondamentale della programmazione strutturata:
permettono di iterare, cioè ripetere più volte, l'esecuzione di un gruppo di istruzioni; Python ha
due comandi loop primitivi: while loop e il for loop. esegue un'iterazione per ogni elemento di un
.
iterabile;

viene utilizzato per iterare su una sequenza. Con il ciclo for possiamo eseguire un insieme di istruzioni, una volta per
ogni elemento in una lista, tupla, insieme ecc.
Esempio: Stampa ogni frutto in una lista di frutta:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
apple
banana
cherry

LA DICHIARAZIONE DI ROTTURA: Con l' istruzione break possiamo fermare il ciclo prima che sia passato attraverso
tutti gli elementi:
Esempio:Esci dal ciclo quando x è "banana":
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break

LA DICHIARAZIONE CONTINUA: Con l' istruzione continue possiamo interrompere l'iterazione corrente del ciclo e
continuare con la successiva:
Esempio:Non stampare banane:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue
print(x)
LA FUNZIONE RANGE(): Per scorrere un insieme di codice un numero specificato di volte, possiamo usare la funzione
range() ,che restituisce una sequenza di numeri, a partire da 0 per impostazione predefinita, e incrementa di 1 e
termina con un numero [Link] noti che range(6) non è i valori da 0 a 6, ma i valori da 0 a 5.
for x in range(6):
print(x)
-La funzione range() per impostazione predefinita è 0 come valore iniziale, tuttavia è possibile specificare il valore
iniziale aggiungendo un parametro: range(2, 6) , che significa valori da 2 a 6 (ma escluso 6):
Esempio:Utilizzando il parametro di avvio:
for x in range(2, 6):
print(x)
-La funzione range() per impostazione predefinita incrementa la sequenza di 1, tuttavia è possibile specificare il
valore di incremento aggiungendo un terzo parametro: range(2, 30, 3 ) :
Esempio:Incrementa la sequenza con 3 (il valore predefinito è 1):
for x in range(2, 30, 3):
print(x)
ELSE NEL CICLO FOR:La else parola chiave in un for ciclo specifica un blocco di codice da eseguire al termine del ciclo:
Esempio: Stampa tutti i numeri da 0 a 5 e stampa un messaggio quando il ciclo è terminato:
for x in range(6):
print(x)
else:
print("Finally finished!")
0
1
2
3
4
5
Finally finished!
CICLO WHILE Con il ciclo while possiamo eseguire un insieme di istruzioni fintanto che una condizione è vera.
Nota: ricorda di incrementare i, altrimenti il ciclo continuerà all'infinito. Il ciclo while richiede che
le variabili rilevanti siano pronte Esempio: Stampa i finché i è minore di 4:
il ciclo while: itera fintanto che una condizione è vera i=1
while i < 4:
LA DICHIARAZIONE DI ROTTURA print(i)
i += 1
Con l' istruzione break possiamo fermare il ciclo anche se la condizione while è vera: 1
Esempio: Esci dal ciclo quando i è 3: 2
i=1 3

while i < 6:
print(i)
if (i == 3):
break
i += 1
1
2
3

LA DICHIARAZIONE CONTINUA
Con l' istruzione continue possiamo interrompere l'iterazione corrente e continuare con la successiva:
Esempio: Continua alla prossima iterazione se i è 3:
i=0
while i < 6:
i += 1
if i == 3:
continue
print(i)
1
2
4
5
6

L'ISTRUZIONE ELSE
Con l' istruzione else possiamo eseguire un blocco di codice una volta quando la condizione non è più vera:
Esempio:Stampa un messaggio una volta che la condizione è falsa:
i=1
while i < 6:
print(i)
i += 1
else:
print("i is no longer less than 6")

CICLO ANNIDATO CICLI ANNIDATI


Un ciclo nidificato è un ciclo all'interno di un ciclo.
Il "ciclo interno" verrà eseguito una volta per ogni iterazione del "ciclo esterno":

Esempio:Stampa ogni aggettivo per ogni frutto:


adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
red apple
red banana
red cherry
big apple
big banana
big cherry
tasty apple
tasty banana
tasty cherry
LA DICHIARAZIONE DI PASSAGGIO
fori loop non possono essere vuoti, ma se per qualche motivo hai un forloop senza contenuto, inserisci l'
passistruzione per evitare di ricevere un errore.
Esempio:
for x in [0, 1, 2]:
pass
FUNZIONI è un blocco di codice che viene eseguito solo quando viene chiamato. È possibile passare dati,
noti come parametri, in una funzione. Una funzione può restituire dati come risultato.

FUNZIONI E METODI
Le funzioni accettano 0 o più argomenti e possono essere usate con oggetti di diversi tipi, usando la sintassi
funzione(argomenti): I metodi sono simili alle funzioni ma sono legati al tipo dell'oggetto e hanno una sintassi
diversa: [Link](argomenti). Così come le funzioni, i metodi possono accettare 0 o più argomenti

CREAZIONE DI UNA FUNZIONE


In Python una funzione è definita usando la parola chiave def :
Esempio:
def my_function():
print("Hello from a function")

CHIAMARE UNA FUNZIONE


Per chiamare una funzione, utilizzare il nome della funzione seguito da parentesi:
Esempio:
def my_function():
print("Hello from a function")
my_function()

POLIMORFISMO DI FUNZIONI:Un Esempio: di una funzione Python che può essere utilizzata su diversi oggetti è la
len()funzione

ARGOMENTI Le informazioni possono essere passate alle funzioni come argomenti. Sono specificati dopo il
nome della funzione, all'interno delle parentesi. Puoi aggiungere tutti gli argomenti che vuoi, basta
separarli con una virgola.
L'Esempio: seguente ha una funzione con un argomento (fname). Quando viene chiamata la funzione, passiamo un nome,
che viene utilizzato all'interno della funzione per stampare il nome completo: Esempio:
def my_function(fname):
print(fname + " Refsnes")
my_function("Emil")
my_function("Tobias")
my_function("Linus")
Gli argomenti sono spesso abbreviati in args nelle documentazioni Python.

PARAMETRI O ARGOMENTI?
I termini parametro e argomento possono essere usati per la stessa cosa: informazioni che vengono passate a una
funzione. Dal punto di vista di una funzione:
-Un parametro è la variabile elencata tra parentesi nella definizione della funzione.
-Un argomento è il valore che viene inviato alla funzione quando viene chiamata.

NUMERO DI ARGOMENTI
Per impostazione predefinita, una funzione deve essere chiamata con il numero corretto di argomenti. Significa
che se la tua funzione si aspetta 2 argomenti, devi chiamare la funzione con 2 argomenti, non di più e non di
meno.
Esempio: Questa funzione prevede 2 argomenti e ottiene 2 argomenti:
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil", "Refsnes")
MATRICI Nota: Python non ha il supporto integrato per gli array, ma è possibile utilizzare gli elenchi Python
Gli array vengono utilizzati per memorizzare più valori in una singola variabile:
Una matrice è una lista fatta di liste annidate che hanno tutte lo stesso numero di elementi .Un array è una variabile
speciale, che può contenere più di un valore alla volta. Un array può contenere molti valori sotto un unico nome ed
è possibile accedere ai valori facendo riferimento a un numero di indice.

ACCEDI AGLI ELEMENTI DI UN ARRAY


Ti riferisci a un elemento dell'array facendo riferimento al numero di indice .

ELEMENTI DELL'ARRAY IN LOOP


È possibile utilizzare il for inciclo per scorrere tutti gli elementi di un array.

METODI DI MATRICE
Python ha una serie di metodi integrati che puoi usare su liste/array.
Method Description
append() Adds an element at the end of the list
clear() Removes all the elements from the list
copy() Returns a copy of the list
count() Returns the number of elements with the specified value
extend() Add the elements of a list (or any iterable), to the end of the
current list
index() Returns the index of the first element with the specified value
insert() Adds an element at the specified position
pop() Removes the element at the specified position
remove() Removes the first item with the specified value
reverse() Reverses the order of the list
split() Consente di trasformare una stringa di testo in una lista
sort() Sorts the list
Nota: Python non ha il supporto integrato per gli array, ma è possibile
utilizzare gli elenchi Python

FUNZIONI
FUNZIONI MATEMATICHE INTEGRATE
Le funzioni min()e max()possono essere utilizzate per trovare il valore più basso o più alto in
un iterabile:
Esempio:
x = min(5, 10, 25)
y = max(5, 10, 25)
print(x)
print(y)
5
25
La abs()funzione restituisce il valore assoluto (positivo) del numero specificato:
Esempio:
x = abs(-7.25)
print(x)
7.25
La funzione restituisce il valore di x alla potenza di y (x y ).pow(x, y)
Esempio:Riporta il valore di 4 alla potenza di 3 (uguale a 4 * 4 * 4):
x = pow(4, 3)
print(x)
64
CLASSI/OGGETTI CLASSI/OGGETTI PYTHON
Python è un linguaggio di programmazione orientato agli oggetti.
Quasi tutto in Python è un oggetto, con le sue proprietà e metodi.
Una classe è come un costruttore di oggetti o un "progetto" per la creazione di oggetti.

CREA UNA CLASSE


Per creare una classe, usa la parola chiave class:
Esempio: Crea una classe denominata MyClass, con una proprietà denominata x:
class MyClass:
x=5
CREA OGGETTO
Ora possiamo utilizzare la classe denominata MyClass per creare oggetti:
Esempio:Crea un oggetto chiamato p1 e stampa il valore di x:
p1 = MyClass()
print(p1.x)

ITERATORI
ITERATORI PYTHON
Un iteratore è un oggetto che contiene un numero numerabile di valori.
Un iteratore è un oggetto che può essere iterato, il che significa che puoi attraversare
tutti i valori.
Tecnicamente, in Python, un iteratore è un oggetto che implementa il protocollo
iteratore, che consiste nei metodi __iter__() e __next__().

ITERATORE VS ITERABILE(Ripetibile)
iteratore:definisce come generare gli oggetti in una sequenza quando richiesto
Liste, tuple, dizionari e insiemi sono tutti oggetti iterabili. Sono contenitori iterabili da cui è possibile
ottenere un iteratore.
Tutti questi oggetti hanno un iter()metodo che viene utilizzato per ottenere un iteratore:
Esempio: Restituisce un iteratore da una tupla e stampa ciascun valore:
mytuple = ("apple", "banana", "cherry")
myit = iter(mytuple)
print(next(myit))
print(next(myit))
print(next(myit))
apple
banana
cherry
TEORIA

Un programma è una sequenza di istruzioni scritte per eseguire un'azione. La costruzione di un programma è usualmente associata
alla necessità di risolvere in maniera efficente uno o più problemi.

TURING COMPLETO
Turing Complete si riferisce a una macchina che, con tempo e memoria sufficienti insieme alle istruzioni necessarie, può risolvere qualsiasi
problema computazionale, non importa quanto complesso. Il termine è normalmente usato per descrivere i linguaggi di programmazione
moderni poiché la maggior parte di essi è Turing Complete (C++, Python, JavaScript, ecc.).
COS'È UNA MACCHINA DI TURING?
Prima dei computer moderni, Alan Turing ipotizzava che un giorno ci sarebbe stata una macchina in grado di risolvere qualsiasi problema.
Questa macchina divenne nota come la macchina di Turing. Un dispositivo o un linguaggio di programmazione è considerato Turing Complete
quando può replicare una macchina di Turing eseguendo qualsiasi programma o risolvendo qualsiasi problema che la macchina di Turing
potrebbe eseguire o risolvere. D'altra parte, se un dispositivo o un linguaggio di programmazione non è in grado di farlo, si dice che sia Turing
Incomplete.

CHE COS’É UN LINGUAGGIO DI PROGRAMMAZIONE


un linguaggio di programmazione è una lingua utilizzata da sviluppatori e programmatori che consente di trasformare una serie di comandi e
istruzioni scritte in dati e attività specifiche
Esistono:
•Linguaggi a basso livello: coincidono con il linguaggio macchina e forniscono poca o nessuna astrazione. Sono quindi orientati “alla
macchina” e il loro scopo è quello di essere direttamente eseguibili dal processore.
•Linguaggi ad alto livello: si caratterizzano per un’alta astrazione e sono orientati “al programmatore”, quindi il loro scopo è quello di essere
più comprensibili per un uso più facile da parte degli sviluppatori.
Questi a loro volta sono distinti in varie famiglie basate sul paradigma di programmazione:
•Imperativi: dove l’istruzione è un comando esplicito e le istruzioni vengono eseguite in un ordine prestabilito. Tra questi ci sono i linguaggi
C, COBOL e Assembly.
•Funzionali: si basano sul concetto matematico di funzione. Tra questi ci sono i linguaggi Scala, Clojure e Haskell.
•Logici: qui l’istruzione è una clausola che descrive la relazione tra i dati. Tra questi ci sono i linguaggi Prolog e Mercury.
Esistono poi soluzioni che semplificano la vita degli sviluppatori:
•Linguaggi di scripting: sono nati per automatizzare compiti lunghi e ripetitivi da eseguire tramite script che eseguono determinati compiti.
Tra questi ci sono Javascript, PHP e Python.

DIFFERENZE TRA PYTHON E HTML


L'HTML è un linguaggio di markup utilizzato per strutturare i contenuti Web e creare il layout delle pagine Web, mentre Python è un
linguaggio di programmazione versatile con funzionalità più estese, che consente attività oltre lo sviluppo Web, come l'analisi dei dati e
l'automazione.1. Sintassi:
L'HTML utilizza tag e attributi per strutturare il contenuto Web, mentre Python utilizza una sintassi di programmazione più tradizionale con
variabili, funzioni, loop e condizionali.
2. Scopo:
L'HTML è incentrato sulla creazione della struttura e della presentazione delle pagine Web, mentre Python è un linguaggio di
programmazione generico con applicazioni più ampie.
3. Esecuzione:
L'HTML viene interpretato dai browser Web per il rendering delle pagine Web, mentre Python richiede un interprete o un compilatore per
eseguire il suo codice.
4. Curva di apprendimento:
L'HTML è relativamente più facile da imparare e da capire, poiché ha una sintassi semplice e un insieme limitato di tag. Python, sebbene
adatto ai principianti, richiede una comprensione più profonda dei concetti di programmazione.
5. Limitazioni:
Sebbene l'HTML sia essenziale per lo sviluppo web, non ha la capacità di eseguire calcoli complessi e funzionalità di programmazione
avanzate.
D'altra parte, Python potrebbe non essere adatto per la programmazione di basso livello o per ambienti in cui le prestazioni sono
fondamentali.
MODULI Considera un modulo come una libreria di codici. Un file contenente un insieme di funzioni che
desideri includere nella tua applicazione.

CREA UN MODULO
Per creare un modulo basta salvare il codice desiderato in un file con estensione file .py:
Esempio:Salva questo codice in un file [Link]
def greeting(name):
print("Hello, " + name)

USA UN MODULO
Ora possiamo utilizzare il modulo che abbiamo appena creato, utilizzando l' importistruzione:
Esempio: Importa il modulo chiamato mymodule e chiama la funzione di saluto:
import mymodule
[Link]("Jonathan")
Nota: quando si utilizza una funzione da un modulo, utilizzare la sintassi: nome_modulo.nome_funzione .

VARIABILI NEL MODULO


Il modulo può contenere funzioni, come già descritto, ma anche variabili di tutti i tipi (array, dizionari, oggetti etc):
Esempio: Salva questo codice nel [Link]
person1 = {
"name": "John",
"age": 36,
"country": "Norway"
}
Esempio: Importa il modulo chiamato mymodule e accedi al dizionario person1:
import mymodule
a = mymodule.person1["age"]
print(a)

ASSEGNARE UN NOME A UN MODULO


Puoi nominare il file del modulo come preferisci, ma deve avere l'estensione del file .py
Rinominare un modulo
Puoi creare un alias quando importi un modulo, usando la asparola chiave:
Esempio:Crea un alias per mymodulechiamato mx:
import mymodule as mx
a = mx.person1["age"]
print(a)

MODULI INTEGRATI
Ci sono diversi moduli integrati in Python, che puoi importare quando vuoi.
Esempio:Importa e usa il platformmodulo:
import platform
x = [Link]()
print(x)

USANDO LA FUNZIONE DIR()


C'è una funzione incorporata per elencare tutti i nomi di funzione (o nomi di variabile) in un modulo. La dir()funzione:
Esempio: Elenca tutti i nomi definiti appartenenti al modulo della piattaforma:
import platform
x = dir(platform)
print(x)
Nota: la funzione dir() può essere utilizzata su tutti i moduli, anche quelli creati da te.

IMPORTA DAL MODULO


Puoi scegliere di importare solo parti da un modulo, utilizzando la fromparola chiave.
Esempio:Il modulo denominato mymoduleha una funzione e un dizionario:
def greeting(name):
print("Hello, " + name)
person1 = {
"name": "John",
"age": 36,
"country": "Norway"
}
Esempio: Importa solo il dizionario person1 dal modulo:
from mymodule import person1
print (person1["age"])
Descrizione della funzione
abs() Restituisce il valore assoluto di un numero
all() Restituisce True se tutti gli elementi in un oggetto iterabile sono veri
any() Restituisce True se qualsiasi elemento in un oggetto iterabile è vero
ascii() Restituisce una versione leggibile di un oggetto. Sostituisce i caratteri non ASCII con il carattere Escape
bin() Restituisce la versione binaria di un numero
bool() Restituisce il valore booleano dell'oggetto specificato
bytearray() Restituisce un array di byte
bytes() Restituisce un oggetto bytes
callable() Restituisce True se l'oggetto specificato è richiamabile, altrimenti False
chr() Restituisce un carattere dal codice Unicode specificato.
classmethod() Converte un metodo in un metodo di classe
compile() Restituisce l'origine specificata come oggetto, pronto per essere eseguito
complex() Restituisce un numero complesso
delattr() Elimina l'attributo specificato (proprietà o metodo) dall'oggetto specificato
dict() Restituisce un dizionario (Array)
dir() Restituisce un elenco delle proprietà e dei metodi dell'oggetto specificato
divmod() Restituisce il quoziente e il resto quando argomento1 viene diviso per argomento2
enumerate() Prende una raccolta (ad esempio una tupla) e la restituisce come oggetto enumerato
eval() Valuta ed esegue un'espressione
exec() Esegue il codice (o oggetto) specificato
filter() Utilizza una funzione di filtro per escludere elementi in un oggetto iterabile
float() Restituisce un numero in virgola mobile
format() Formatta un valore specificato
frozenset() Restituisce un oggetto frozenset
getattr() Restituisce il valore dell'attributo specificato (proprietà o metodo)
globals() Restituisce la tabella dei simboli globali corrente come dizionario
hasattr() Restituisce True se l'oggetto specificato ha l'attributo specificato (proprietà/metodo)
hash() Restituisce il valore hash di un oggetto specificato
help() Esegue il sistema di aiuto integrato
hex() Converte un numero in un valore esadecimale
id() Restituisce l'id di un oggetto
input() Consente l'input dell'utente
int() Restituisce un numero intero
isinstance() Restituisce True se un oggetto specificato è un'istanza di un oggetto specificato
issubclass() Restituisce True se una classe specificata è una sottoclasse di un oggetto specificato
iter() Restituisce un oggetto iteratore
len() Restituisce la lunghezza di un oggetto
list() Restituisce una lista
locals() Restituisce un dizionario aggiornato della tabella dei simboli locali corrente
map() Restituisce l'iteratore specificato con la funzione specificata applicata a ciascun elemento
max() Restituisce l'elemento più grande in un iterabile
memoryview() Restituisce un oggetto visualizzazione memoria
min() Restituisce l'elemento più piccolo in un iterabile
next() Restituisce l'elemento successivo in un iterabile
object() Restituisce un nuovo oggetto
oct() Converte un numero in un ottale
open() Apre un file e restituisce un oggetto file
ord() Converte un numero intero che rappresenta l'Unicode del carattere specificato
pow() Restituisce il valore di x elevato a y
print() Stampa sul dispositivo di output standard
property() Ottiene, imposta, elimina una proprietà
range() Restituisce una sequenza di numeri, partendo da 0 e incrementa di 1 (per impostazione predefinita)
repr() Restituisce una versione leggibile di un oggetto
reversed() Restituisce un iteratore invertito
round() Arrotonda un numero
set() Restituisce un nuovo oggetto set
setattr() Imposta un attributo (proprietà/metodo) di un oggetto
slice() Restituisce un oggetto fetta
sorted() Restituisce un elenco ordinato
staticmethod() Converte un metodo in un metodo statico
str() Restituisce un oggetto stringa
sum() Somma gli elementi di un iteratore
super() Restituisce un oggetto che rappresenta la classe genitore
tuple() Restituisce una tupla
type() Restituisce il tipo di un oggetto
vars() Restituisce la proprietà __dict__ di un oggetto
zip() Restituisce un iteratore, da due o più iteratori

Potrebbero piacerti anche