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


Riassunto Completo: Manuale di Python per Principianti e Intermedi, Sintesi del corso di Sistemi Informatici

Un riassunto dettagliato del 'manuale di python' di a. Marengo e a. Pagano, ideale per studenti e appassionati di programmazione. Copre concetti fondamentali come variabili, tipi di dati, liste, tuple, set, dizionari, cicli, funzioni, classi e oggetti. Include anche sezioni su moduli, date e gestione delle eccezioni, fornendo una panoramica completa del linguaggio python. Perfetto per chi cerca una guida concisa e ben strutturata per apprendere o ripassare python. Il riassunto è organizzato in modo chiaro e accessibile, rendendolo uno strumento utile per l'apprendimento e la consultazione rapida. Approfondisce argomenti come gli operatori aritmetici, logici e di confronto, oltre a spiegare l'uso di costrutti come if, elif, else e i cicli while e for. Inoltre, tratta argomenti avanzati come la ricorsione, le funzioni lambda e l'ereditarietà nelle classi.

Tipologia: Sintesi del corso

2025/2026

In vendita dal 18/11/2025

Ares996
Ares996 🇮🇹

4.4

(10)

1K documenti

1 / 59

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
RIASSUNTO COMPLETO DI
A. Marengo, A. Pagano,
Manuale di Python
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
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b

Anteprima parziale del testo

Scarica Riassunto Completo: Manuale di Python per Principianti e Intermedi e più Sintesi del corso in PDF di Sistemi Informatici solo su Docsity!

RIASSUNTO COMPLETO DI

A. Marengo, A. Pagano,

Manuale di Python

Indice

  • 1 Introduzione a Python
    • 1.1 Concetti Fondamentali...............................................................................
    • 1.2 Numeri..........................................................................................................
    • 1.3 Stringhe
  • 2 Variabili
    • 2.1 Creazione di variabili
    • 2.2 Nomi delle variabili
    • 2.3 Assegnare p i u´ valori
    • 2.4 Variabili globali
  • 3 Tipi di dati
    • 3.1 Tipi di dati integrati
    • 3.2 Valori Booleani
    • 3.3 Operatori
      • 3.3.1 Operatori Aritmetici
      • 3.3.2 Operatori di Assegnazione
      • 3.3.3 Operatori di Confronto.................................................................
      • 3.3.4 Operatori Logici
      • 3.3.5 Operatori di Identità.....................................................................
      • 3.3.6 Operatori di Appartenenza
      • 3.3.7 Operatori Bit per Bit
      • 3.3.8 Precedenza degli Operatori
  • 4 Liste
    • 4.1 Liste in Python
    • 4.2 Accesso agli elementi
    • 4.3 Modificare gli elementi di un array..........................................................
    • 4.4 Aggiungere nuovi elementi
    • 4.5 Rimuovere elementi dalla lista
    • 4.6 Cicli For e While
    • 4.7 Comprensione delle liste
    • 4.8 Ordinare Liste
    • 4.9 Copiare una lista
    • 4.10 Unire due liste
    • 4.11 Tutti i metodi
  • 5 Tuple
    • 5.1 Tuple in Python
    • 5.2 Accedere alle tuple
    • 5.3 Aggiornare Tuple.......................................................................................
    • 5.4 Disimballare tuple
    • 5.5 Cicli sulle tuple
    • 5.6 Unire due liste
    • 5.7 Tutti i metodi
  • 6 Set
    • 6.1 Set in Python
    • 6.2 Accesso ai Set
    • 6.3 Aggiungere elementi a un Set
    • 6.4 Rimuovere elementi da un Set
    • 6.5 Unire i set
      • 6.5.1 Unione
      • 6.5.2 Intersezione...................................................................................
      • 6.5.3 Differenza
      • 6.5.4 Differenza Simmetrica
  • 7 Dizionari
    • 7.1 Dizionari in Python
    • 7.2 Accesso ai dizionari...................................................................................
    • 7.3 Modificare valori
    • 7.4 Aggiungere elementi
    • 7.5 Copiare un dizionario
  • 8 If, Elif, Else
    • 8.1 Condizioni Python
    • 8.2 Elif
  • 9 Cicli While e For
    • 9.1 While...........................................................................................................
    • 9.2 For
  • 10 Funzioni
    • 10.1 Creazione di una funzione
    • 10.2 Argomenti di una funzione
    • 10.3 Ricorsione
    • 10.4 Funzioni Lamda.........................................................................................
  • 11 Classi e oggetti in Python
    • 11.1 Creare una classe
    • 11.2 Modifica le proprietà
    • 11.3 Eliminare gli oggetti o le proprietà
    • 11.4 Ereditarietà
    • 11.5 Polimorfismo
  • 12 Ambito
    • 12.1 Ambito Locale
    • 12.2 Ambito Globale
    • 12.3 global
    • 12.4 nonlocal
  • 13 Moduli
    • 13.1 Creare un modulo
    • 13.2 Importare da un modulo..........................................................................
  • 14 Date
    • 14.1 datetime.......................................................................................................
    • 14.2 Creazione oggetti Data
    • 14.3 strftime()
  • 15 Try e Except
    • 15.1 Gestione delle eccezioni.............................................................................
    • 15.2 Generare un’eccezione

1 Introduzione a Python

Python è un linguaggio di programmazione potente e versatile ampiamente uti-

lizzato in campi molto richiesti come la scienza dei dati, lo sviluppo web, l’auto-

mazione e molti altri. Fortunatamente per i principianti, è anche un linguaggio

eccellente da imparare poiché il codice Python è più facile da leggere e scrivere.

La sua semplicità lo rende il linguaggio perfetto per i principianti. Scriviamo il

nostro primo programma Python per avere un’idea del linguaggio. Scriveremo

un semplice programma che visualizza sullo schermo ”Hello, World!”.

1 print(" Hello , World !")

Listing 1: Python example

Per eseguire questo programma, premere il pulsante ”Esegui codice”. Se

vedi ”Hello, World!” sullo schermo, congratulazioni, hai eseguito con successo

il tuo primo programma. In Python, tutto ciò che si trova all’interno della

funzione print() viene visualizzato sullo schermo. Ci sono due cose da notare

su print():

  • Tutto ciò che vogliamo visualizzare sullo schermo è incluso tra parentesi
  • Il testo che vogliamo stampare è inserito tra virgolette doppie " ".

1.1 Concetti Fondamentali

Ci sono alcuni concetti che devi comprendere prima di poter iniziare a scrivere

programmi. Questi concetti fondamentali includono due dei tipi di dati più

basilari:

  • Numeri
  • Stringhe (Dati testuali)

Quindi, iniziamo con i numeri.

1.2 Numeri

In Python, i numeri sono usati per riferirsi a tutti i tipi di dati numerici. Esistono

due tipi di numeri comunemente usati:

  1. Numeri interi

I numeri interi sono numeri senza parti decimali. Consistono anche di

numeri negativi. Ad esempio, 5, - 1, 10, 12, ecc.

  1. Numeri in virgola mobile

I numeri a virgola mobile sono numeri che contengono parti decimali.

Proprio come i numeri interi, anche i numeri a virgola mobile possono

essere sia positivi che negativi. Ad esempio, 2.5, 6.7, 0.0, ecc.

Metodo Descrizione

capitalize() Converte il primo carattere in maiuscolo

casefold() Converte la stringa in minuscolo

center() Restituisce una stringa centrata

count()

Restituisce il numero di volte che un valore specificato appare in

una stringa

encode() Restituisce una versione codificata della stringa

endswith() Restituisce vero se la stringa termina con il valore specificato

expandtabs() Imposta^ la^ dimensione^ del^ tabulatore^ della^ stringa

find()

Cerca nella stringa un valore specificato e restituisce la posizione

in cui è stato trovato

format() Formatizza i valori specificati in una stringa

format map() Formatizza^ 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 della stringa sono alfanumerici

isalpha() Restituisce^ True^ se^ tutti^ i^ caratteri^ della^ stringa^ sono^ lettere

isascii()

Restituisce True se tutti i caratteri della stringa sono caratteri

ascii

isdecimal() Restituisce True se tutti i caratteri della stringa sono decimali

isdigit() Restituisce^ True^ se^ tutti^ i^ caratteri^ della^ stringa^ sono^ cifre

isidentifier() Restituisce True se la stringa è un identificatore

islower() Restituisce True se tutti i caratteri della stringa sono in minuscolo

isnumeric() Restituisce^ True^ se^ tutti^ i^ caratteri^ della^ stringa^ sono^ numerici

isprintable() Restituisce True se tutti i caratteri della stringa sono stampabili

isspace() Restituisce True se tutti i caratteri della stringa sono spazi bianchi

istitle() Restituisce^ True se la stringa^ segue le regole di^ un^ titolo

isupper() Restituisce True se tutti i caratteri della stringa sono in maiuscolo

join() Unisce gli elementi di un iterabile alla fine della stringa

ljust() Restituisce^ una^ versione^ giustificata^ a^ sinistra^ della^ stringa

lower() Converte una stringa in minuscolo

lstrip() Restituisce una versione della stringa senza spazi a sinistra

maketrans() Restituisce una tabella di traduzione da utilizzare nelle traduzioni

partition() Restituisce una tupla in cui la stringa è divisa in tre parti

replace()

Restituisce una stringa in cui un valore specificato è sostituito con

un valore specificato

rfind()

Cerca nella stringa un valore specificato e restituisce l’ultima po-

sizione in cui è stato trovato

rindex()

Cerca nella stringa un valore specificato e restituisce l’ultima po-

sizione in cui è stato trovato

rjust() Restituisce una versione giustificata a destra della stringa

rpartition() Restituisce^ una^ tupla^ in^ cui^ la^ stringa^ è^ divisa^ in^ tre^ parti

rsplit() Divide la stringa al separatore specificato e restituisce una lista

rstrip() Restituisce una versione della stringa senza spazi a destra

split() Divide la stringa al separatore specificato e restituisce una lista

splitlines() Divide la stringa alle interruzioni di riga e restituisce una lista

startswith() Restituisce vero 6

se la stringa inizia con il valore specificato

strip()

Restituisce una versione della stringa senza spazi su entrambi i

lati

swapcase() Inverte le maiuscole, le minuscole diventano maiuscole e viceversa

title() Converte il primo carattere di ogni parola in maiuscolo

translate() Restituisce una stringa tradotta

upper() Converte una stringa in maiuscolo

zfill() Scarica^

to R

d i

a em

Fr p

an ie

ce l

s a

co st

P r

o in

lla g

r a

o ( c

f o

ra n

nz u

.p n

ol n

le u

r@ m

h e

o r

t o

ma s

i p

l.i e

t) cificato di valori 0 all’inizio

2 Variabili

2.1 Creazione di variabili

Python non ha alcun comando per dichiarare una variabile. Una variabile viene

creata nel momento in cui le si assegna un valore per la prima volta.

1

2

3

4

Listing 3: Python example

Le variabili non devono essere dichiarate con un tipo particolare e possono

anche cambiare tipo dopo che sono state impostate. Se si desidera specificare il

tipo di dati di una variabile, è possibile farlo con il casting.

1

2

3

Listing 4: Python example

È possibile ottenere il tipo di dati di una variabile con la funzione type() :

1

2

3

4

Listing 5: Python example

2.2 Nomi delle variabili

Per i nomi delle variabili viene fatta distinzione tra maiuscole e minuscole. Una

variabile può avere un nome breve (come x e y) o un nome più descrittivo (età,

nome auto, total volume). Regole per le variabili Python:

  • Il nome di una variabile deve iniziare con una lettera o con il carattere di

sottolineatura.

  • Il nome di una variabile non può iniziare con un numero.
  • Il nome di una variabile può contenere solo caratteri alfanumerici e carat-

teri di sottolineatura (A-z, 0-9 e ).

  • I nomi delle variabili fanno distinzione tra maiuscole e minuscole (age, Age

e AGE sono tre variabili diverse).

  • Il nome di una variabile non può essere una qualsiasi delle parole chiave

di Python.

x = 5

y = " John "

print( type ( x))

print( type ( y))

x = str (3) # x sarà ’3 ’

y = int (3) # y sarà 3

z = float (3) # z sarà 3.

x = 5

y = " John "

print( x)

print( y)

all’interno della funzione:

1 2 3 4 5 6

Listing 10: Python example

Se si crea una variabile con lo stesso nome all’interno di una funzione, questa

variabile sarà locale e potrà essere utilizzato solo all’interno della funzione. La

variabile globale con lo stesso nome rimarrà com’era, globale e con il valore ori-

ginale. Normalmente, quando si crea una variabile all’interno di una funzione,

quella variabile è locale e può essere utilizzato solo all’interno di tale funzione.

Per creare una variabile globale all’interno di una funzione, è possibile utilizzare

la parola chiave: global

1 2 3 4 5 6 7

Listing 11: Python example

Inoltre, usa la parola chiave se vuoi modificare una variabile globale all’interno

di una funzione.

1 2 3 4 5 6

Listing 12: Python example

x = " awes om e "

def myfunc ():

global x

x = " fantastic"

myfunc ()

print(" Python is " + x)

def myfunc ():

global x

x = " fantastic"

myfunc ()

print(" Python is " + x)

x = " awes om e "

def myfunc ():

print(" Python is " + x)

myfunc ()

3 Tipi di dati

3.1 Tipi di dati integrati

Nella programmazione, il tipo di dati è un concetto importante. Le variabili

possono memorizzare dati di tipi diversi e tipi diversi possono farlo cose diverse.

Python ha i seguenti tipi di dati integrati per impostazione predefinita, in queste

categorie:

  • Tipo di testo: str
  • Tipi numerici: int, ,floatcomplex
  • Tipi di sequenza: list, ,tuplerange
  • Tipo di mappatura: dict
  • Tipi di set: set,frozenset
  • Tipo booleano: bool
  • Tipi binari: bytes, ,bytearraymemoryview
  • Nessuno Tipo: NoneType

In Python, il tipo di dati viene impostato quando si assegna un valore a una

variabile:

Esempio Tipo

x = ”Hello World” str

x = 20 int

x = 20.5 float

x = 1j complex

x = [”apple”, ”banana”, ”cherry”] list

x = (”apple”, ”banana”, ”cherry”) tuple

x = range(6) range

x = ”name” : ”John”, ”age” : 36 dict

x = ”apple”, ”banana”, ”cherry” set

x = frozenset(”apple”, ”banana”, ”cherry”) frozenset

x = True bool

x = b”Hello” bytes

x = bytearray(5) bytearray

x = memoryview(bytes(5)) memoryview

x = None NoneType

Se si desidera specificare il tipo di dati, è possibile utilizzare quanto segue

Funzioni del costruttore:

tranne 0. Tutti gli elenchi, le tuple, gli insiemi e i dizionari sono True, ad ecce-

zione di quelli vuoti. Verrà restituito True

1

2

3

Verrà restituito False

Listing 16: Python Example

1 2 3 4 5 6 7

Listing 17: Python Example

È possibile creare funzioni che restituiscono un valore booleano:

1

2

3

4

Listing 18: Python Example

È possibile eseguire codice basato sulla risposta booleana di una funzione:

1 2 3 4 5 6 7

Listing 19: Python Example

3.3 Operatori

Gli operatori vengono utilizzati per eseguire operazioni su variabili e valori.

  • Operatori aritmetici
  • Operatori di assegnazione
  • Operatori di confronto
  • Operatori logici
  • Operatori di identità

def myFunction () :

return True

if myFunction ():

print(" YES!")

else :

print(" NO!")

def myFunction () :

return True

print( my Fu nc tio n ())

bool( False )

bool( None )

bool (0)

bool("")

bool (())

bool ([])

bool ({})

bool(" abc")

bool (123)

bool ([" apple ", " cherry ", " banana "])

  • Operatori di appartenenza
  • Operatori bit per bit

3.3.1 Operatori Aritmetici

Gli operatori aritmetici vengono utilizzati con valori numerici per eseguire ope-

razioni matematiche comuni:

Operatore Nome Esempio

  • Addizione x + y
  • Sottrazione x - y

’*’ Moltiplicazione x * y

/ Divisione x / y

% Modulo x % y

’**’ Potenza x ** y

// Parte intera x // y

3.3.2 Operatori di Assegnazione

Gli operatori di assegnazione servono per assegnare valori alle variabili:

  • = : Assegna un valore, ad esempio x = 5.
  • += : Aggiunge e assegna, ad esempio x += 3 è equivalente a x = x + 3.
    • = : Sottrae e assegna, ad esempio x - = 3 è equivalente a x = x - 3.
  • *= : Moltiplica e assegna, ad esempio x *= 3 è equivalente a x = x * 3.
  • /= : Divide e assegna, ad esempio x /= 3 è equivalente a x = x / 3.
  • %= : Modulo e assegna, ad esempio x %= 3 è equivalente a x = x % 3.
  • //= : Divisione intera e assegna, ad esempio x //= 3 è equivalente a x =

x // 3.

  • **= : Esponenzia e assegna, ad esempio x **= 3 è equivalente a x = x
  • &= : Esegue l’AND bit per bit e assegna, ad esempio x &= 3 è equivalente

a x = x & 3.

  • |= : Esegue l’OR bit per bit e assegna, ad esempio x |= 3 è equivalente

a x = x | 3.

  • ˆ= : Esegue l’XOR bit per bit e assegna, ad esempio x ˆ= 3 è equivalente

a x = x ˆ3.

3.3.6 Operatori di Appartenenza

Gli operatori di appartenenza verificano se una sequenza è presente in un og-

getto:

  • in : Restituisce True se la sequenza è presente, ad esempio x in y.
  • not in : Restituisce True se la sequenza non è presente, ad esempio x

not in y.

3.3.7 Operatori Bit per Bit

Gli operatori bit per bit confrontano i numeri binari:

  • & : AND bit per bit, imposta ogni bit a 1 se entrambi i bit sono 1, ad

esempio x & y.

  • | : OR bit per bit, imposta ogni bit a 1 se almeno uno dei due bit è 1, ad

esempio x | y.

  • ˆ : XOR bit per bit, imposta ogni bit a 1 se solo uno dei due bit è 1, ad

esempio x ˆy.

  • : NOT bit per bit, inverte tutti i bit, ad esempio x.
  • << : Shift a sinistra con riempimento di zeri, ad esempio x << 2.
  • : Shift a destra con conservazione del bit più significativo, ad esempio

x >> 2.

3.3.8 Precedenza degli Operatori

La precedenza degli operatori determina l’ordine di esecuzione delle operazioni:

  • () : Parentesi, hanno la precedenza più alta.
  • ** : Esponenziazione.
  • +x, - x, x : Operatori unari.
  • *, /, //, % : Moltiplicazione, divisione, divisione intera, modulo.
  • +, - : Addizione e sottrazione.
  • <<, >> : Shift bit per bit a sinistra e a destra.
  • & : AND bit per bit.
  • ˆ : XOR bit per bit.
  • | : OR bit per bit.
  • ==, !=, >, <, >=, <=, is, is not, in, not in : Confronti, identi-

tà e operatori di appartenenza.

  • not : Negazione logica.
  • and : AND logico.
  • or : OR logico.

Quando due operatori hanno la stessa precedenza, l’espressione viene valu-

tata da sinistra a destra.

  • Il set è una collezione che non è ordinata, non modificabile* e non indiciz-

zata. Nessun membro duplicato.

  • Il dizionario è una raccolta ordinata** e modificabile. Nessun membro

duplicato.

4.2 Accesso agli elementi

Gli elementi dell’elenco sono indicizzati ed è possibile accedervi facendo riferi-

mento al numero di indice:

1

2

Listing 24: Python Example

Indicizzazione negativa significa iniziare dalla fine: - 1 si riferisce all’ultimo ele-

mento, - 2 si riferisce al penultimo elemento ecc. È possibile specificare un inter-

vallo di indici specificando da dove iniziare e dove termina l’intervallo. Quando

si specifica un intervallo, il valore restituito sarà un nuovo elenco con gli elementi

specificati. Se vogliamo quindi il terzo, il quarto, il quinto avremo:

1

2

Listing 25: Python Example

Omettendo il valore iniziale, l’intervallo inizierà dal primo elemento, omettendo

il valore finale, l’intervallo passerà alla fine dell’elenco. Per determinare se un

elemento specificato è presente in un elenco, utilizzare la parola chiave: in.

1

2

3

Listing 26: Python Example

4.3 Modificare gli elementi di un array

Per modificare il valore di un elemento specifico, attenersi alla procedura de-

scritta di seguito. Fare riferimento al numero di indice:

1

2

3

Listing 27: Python Example

Per modificare il valore degli elementi all’interno di un intervallo specifico, si

definisce un elenco con i nuovi valori e si fa riferimento all’intervallo di numeri

di indice in cui si desidera inserire i nuovi valori:

thislist = [" apple ", " banana ", " cherry"]

thislist [1] = " blackcurrant "

print( thislist)

thislist = [" apple ", " banana ", " cherry"]

if " apple " in thislist:

print(" Yes , ’ apple ’ is in the fruits list")

thislist = [" apple ", " banana ", " cherry ", " orange ", " kiwi", " melon ",

" mango "]

print( thislist [2:5])

thislist = [" apple ", " banana ", " cherry"]

print( thislist [1])

1

2

3

Listing 28: Python Example

4.4 Aggiungere nuovi elementi

Per inserire una nuova voce dell’elenco, senza sostituire nessuno dei valori esi-

stenti, possiamo utilizzare il metodo insert(). Il metodo inserisce un elemento

in corrispondenza dell’indice specificato.

1

2

3

Listing 29: Python Example

Per aggiungere un elemento alla fine dell’elenco, utilizzare il metodo ap-

pend().

1

2

3

Listing 30: Python Example

4.5 Rimuovere elementi dalla lista

Il metodo remove() rimuove l’elemento specificato.

1

2

3

Listing 31: Python Example

Se sono presenti più elementi con il valore specificato, il metodo rimuove il primo

elemento evento. Il metodo pop() rimuove il valore specificato indice.

1

2

3

Listing 32: Python Example

La parola chiave del rimuove anche il valore specificato indice oppure com-

pletamente l’elenco.

1

2

3

Listing 33: Python Example

thislist = [" apple ", " banana ", " cherry"]

del thislist [0]

print( thislist)

thislist = [" apple ", " banana ", " cherry"]

thislist. pop (1)

print( thislist)

thislist = [" apple ", " banana ", " cherry"]

thislist. remove (" banana ")

print( thislist)

thislist = [" apple ", " banana ", " cherry"]

thislist. append (" orange ")

print( thislist)

thislist = [" apple ", " banana ", " cherry"]

thislist. insert (2 , " watermelon ")

print( thislist)

thislist = [" apple ", " banana ", " c herry", " orange ", " kiwi", " m ango "]

thislist [1:3] = [" blackcurrant ", " watermelon "]

print( thislist)