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 in Python, Sintesi del corso di Fondamenti di informatica

Istruzioni base per programmare in Python. Appunti incrementati dalle slide del prof. Frosi (Ing. ambientale)

Tipologia: Sintesi del corso

2025/2026

Caricato il 04/03/2026

laura-di-benedetto-5
laura-di-benedetto-5 🇮🇹

5 documenti

1 / 10

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Python
• La funzione print() mostra degli output all'utente. (
print("Frase", "Frase", …,
sep="", end="")
)
• La funzione input() permette all'utente di inserire uno o più input nel programma.
(
variabile = input("prompt")
). Legge i valori inseriti da utente come stringhe, anche
se corrispondono a numeri interi.
• Una variabile è una locazione (cella) di memoria in cui un valore è immagazzinato
per essere utilizzato dal programma (può cambiare durante l’esecuzione).
Ogni variabile è caratterizzata da un identificatore (o nome). Un identificatore è
valido se:
• Contiene lettere, numeri, underscore ( _ ).
• Non contiene caratteri speciali (come ?, !, &, %, …).2
• Comincia con una lettera o con underscore.
(Il linguaggio Python è
case sensitive
: le lettere maiuscole e minuscole sono
identificatori differenti)
Una istruzione può assegnare un valore ad una variabile attraverso l'operatore di
assegnamento (=). Python permette di assegnare lo stesso valore a più variabili
consecutivamente. E possono essere anche assegnati valori eterogenei (cioè di
diverso tipo) a diverse variabili, in ordine.
Python è tipizzato dinamicamente. La dichiarazione delle variabili (ossia specificarne il
tipo) avviene automaticamente quando si assegna un valore ad una variabile. E
possono cambiare tipo durante l’esecuzione.
• Una costante è un simbolo a cui è associato permanentemente un valore. In Python
non esiste (convenzione = il nome della variabile è scritto tutto in lettere maiuscole.)
• In Python, ogni variabile fa riferimento ad un oggetto (più variabili possono fare
riferimento allo stesso oggetto). Un oggetto è caratterizzato da identificatore, tipo e
valore.
o L'identificatore è un intero associato all'oggetto e tipicamente fa riferimento alla
locazione di memoria dove l'oggetto è memorizzato (come un "codice fiscale" o un
indirizzo di casa). Una volta creato, l'identificatore di un oggetto non cambia mai. La
funzione
id()
ritorna tale identificatore.
o Il tipo determina il tipo dell’oggetto e che operazioni possono essere effettuate sul
esso. La funzione
type()
ritorna il tipo di un oggetto.
o Il valore è il contenuto vero e proprio dell'oggetto, ovvero il dato che memorizza (ad
esempio il numero 10 o la parola "Ciao"). Rappresenta lo stato attuale dell'oggetto.
Alcuni oggetti, come numeri e stringhe, hanno valori che non possono essere
modificati dopo la creazione: per questo vengono definiti immutabili. Altri oggetti,
come le liste, sono invece mutabili; quindi, puoi cambiare il loro valore interno senza
dover creare un nuovo oggetto.
• Una stringa (tipo di dato) è una sequenza di caratteri limitata da singoli (') o doppi
('') apici. Ogni carattere è associato un indice che ne indica la posizione: partono da
0, 1, … (da sinistra a destra), oppure partono da -1, -2, … (da destra a sinistra).
pf3
pf4
pf5
pf8
pf9
pfa

Anteprima parziale del testo

Scarica Programmazione in Python e più Sintesi del corso in PDF di Fondamenti di informatica solo su Docsity!

Python

• La funzione print() mostra degli output all'utente. ( print("Frase", "Frase", …,

sep="", end="") )

  • La funzione input() permette all'utente di inserire uno o più input nel programma.

( variabile = input("prompt") ). Legge i valori inseriti da utente come stringhe, anche

se corrispondono a numeri interi.

  • Una variabile è una locazione (cella) di memoria in cui un valore è immagazzinato per essere utilizzato dal programma (può cambiare durante l’esecuzione). Ogni variabile è caratterizzata da un identificatore (o nome). Un identificatore è valido se:
    • Contiene lettere, numeri, underscore ( _ ).
    • Non contiene caratteri speciali (come ?, !, &, %, …).
    • Comincia con una lettera o con underscore.

(Il linguaggio Python è case sensitive: le lettere maiuscole e minuscole sono

identificatori differenti) Una istruzione può assegnare un valore ad una variabile attraverso l' operatore di assegnamento (=). Python permette di assegnare lo stesso valore a più variabili consecutivamente. E possono essere anche assegnati valori eterogenei (cioè di diverso tipo) a diverse variabili, in ordine. Python è tipizzato dinamicamente. La dichiarazione delle variabili (ossia specificarne il tipo) avviene automaticamente quando si assegna un valore ad una variabile. E possono cambiare tipo durante l’esecuzione.

  • Una costante è un simbolo a cui è associato permanentemente un valore. In Python non esiste (convenzione = il nome della variabile è scritto tutto in lettere maiuscole.)
  • In Python, ogni variabile fa riferimento ad un oggetto (più variabili possono fare riferimento allo stesso oggetto). Un oggetto è caratterizzato da identificatore, tipo e valore. o L'i dentificatore è un intero associato all'oggetto e tipicamente fa riferimento alla locazione di memoria dove l'oggetto è memorizzato (come un "codice fiscale" o un indirizzo di casa). Una volta creato, l'identificatore di un oggetto non cambia mai. La

funzione id() ritorna tale identificatore.

o Il tipo determina il tipo dell’oggetto e che operazioni possono essere effettuate sul

esso. La funzione type() ritorna il tipo di un oggetto.

o Il valore è il contenuto vero e proprio dell'oggetto, ovvero il dato che memorizza (ad esempio il numero 10 o la parola "Ciao"). Rappresenta lo stato attuale dell'oggetto. Alcuni oggetti, come numeri e stringhe , hanno valori che non possono essere modificati dopo la creazione: per questo vengono definiti immutabili. Altri oggetti, come le liste , sono invece mutabili ; quindi, puoi cambiare il loro valore interno senza dover creare un nuovo oggetto.

  • Una stringa (tipo di dato) è una sequenza di caratteri limitata da singoli (') o doppi ('') apici. Ogni carattere è associato un indice che ne indica la posizione: partono da 0, 1, … (da sinistra a destra), oppure partono da -1, -2, … (da destra a sinistra).

Una stringa delimitata da tripli doppi apici è ammessa e permette una dichiarazione multi-linea!! Le stringhe sono oggetti immutabili. Questo significa che, una volta creata, una stringa non può essere modificata nei suoi singoli caratteri. Qualsiasi operazione che sembri "modificare" una stringa (come i metodi upper() o lower()) in realtà crea una nuova stringa o Il metodo lower(), applicato su una stringa, converte tutti i caratteri dell'alfabeto in minuscolo. o Il metodo upper(), applicato su una stringa, converte tutti i caratteri dell'alfabeto in maiuscolo. Sia lower() che upper() NON modificano la stringa stessa (per il salvataggio, è necessario creare un'altra variabile a cui assegnare il nuovo valore della stringa).

  • Python utilizza lo standard Unicode (un'estensione di ASCII) per rappresentare il testo, assegnando un numero univoco a ogni carattere. o ord() converte un carattere nel suo valore numerico o chr() converte un valore numerico nel carattere corrispondente
  • Le sequenze di escape sono combinazioni speciali di caratteri composte da un backslash () seguito da una lettera o da un simbolo (utilizzate all'interno delle stringhe per rappresentare caratteri che altrimenti avrebbero un significato sintattico particolare per Python o che sono difficili da visualizzare direttamente) o \n (Nuova linea): viene utilizzato per indicare la fine di una riga di testo. Quando Python incontra questa sequenza in una istruzione print(), sposta il cursore alla riga successiva. o \t (Tabulazione): inserisce un carattere di tabulazione, utile per allineare il testo o creare spaziature fisse tra le parole. Quando inserisci \t in un'istruzione print(), Python aggiunge uno spazio vuoto (corrispondente a un tasto Tab) tra i caratteri. o ' (Apice singolo): permette di inserire un apice all'interno di una stringa che è già delimitata da singoli apici (es. 'L'onda'), evitando che Python interpreti l'apice intermedio come la fine della stringa. o " (Doppio apice): simile al precedente, si usa per inserire le virgolette all'interno di una stringa racchiusa tra doppi apici (es. "Disse "Ciao""). o \ (Backslash): serve a stampare a video un singolo carattere di backslash. Poiché il backslash è il carattere di escape, per visualizzarlo è necessario "escapare" il backslash stesso.
  • FORMATTAZIONE DELLE STRINGHE. La formattazione delle stringhe in Python è una tecnica che permette di creare testi dinamici inserendo variabili o espressioni all'interno di modelli prestabiliti, chiamati template. Le f-string ( Formatted String Literals ) È il modo più moderno e immediato per formattare il testo. Si crea aggiungendo il prefisso f o F prima degli apici della stringa. Hanno campi di rimpiazzamento: si usano le parentesi graffe {} per racchiudere variabili o espressioni che Python valuterà direttamente (es: f"Ciao {nome}"). f"{variabile:specificatore}".

o Precisione decimale: aggiungendo un punto seguito da un numero (es. 10.4f ), si specifica quante cifre mostrare dopo la virgola (numero decimale con 4 cifre dopo la virgola e di almeno 10 caratteri). o Separatore delle migliaia: lo specificatore ( ,d) permette di visualizzare i numeri interi con la virgola come separatore. o Segno matematico: lo specificatore + (es. {:+.2f} ) forza la visualizzazione del segno (positivo o negativo) prima del valore numerico.

  • Il tipo booleano ( bool ) si trova quando la risposta ad una domanda è binaria (si/no,

vero/falso). Può assumere solo due valori determinati dalle parole chiave True e False

(attenzione alle maiuscole). Gli operatori di paragone sono utilizzati per mettere a confronto delle variabili, in modo tale che il risultato sia vero o falso (cioè, Booleano). Esistono 6 operatori di paragone: o uguale a: == o diverso da: != o maggiore di: > o minore di: < o maggiore o uguale a: >= o minore o uguale a: <=

  • La funzione type() si usa per conoscere il tipo di una variabile (o di un oggetto). Per cambiare un tipo di dato in un altro il programmatore ha come strumento la conversione esplicita :

o int() converte un tipo di dato in un intero (qualsiasi parte decimale è rimossa).

o float() converte un tipo di dato in un decimale.

o str() converte un tipo di dato in una stringa.

o bool() converte un valore a Booleano (True, per qualsiasi numero diverso da 0 e

qualsiasi stringa non vuota; False, per il valore numerico 0 e per la stringa vuota).

  • In Python i numeri decimali sono salvati in formato binario. La conversione porta con sé problemi di arrotondamento decimale. La differenza tra valore effettivo e valore approssimato è chiamato errore di approssimazione ( round-off error ). Un errore di overflow ( overflow error ) accade, invece, quando un valore è troppo grande per essere salvato. Il massimo e minimo valori decimali che possono essere rappresentati sono 1.8 ∗ 10^308 e −1.8 ∗10^308, rispettivamente.
  • La funzione round() permette di approssimare un valore decimale ad un numero specificato di cifre dopo la virgola. La funzione utilizza due argomenti: il numero da approssimare, obbligatorio, e il numero di cifre decimali da tenere dopo la virgola (opzionale). Nel caso in cui il secondo argomento non sia specificato, si approssima all'intero più vicino.
  • Python supporta quattro operatori aritmetici di base: addizione (+), sottrazione (-), moltiplicazione (*) e divisione (/). In presenza di più operatori, ognuno di essi è valutato in ordine di precedenza.

Nel caso di espressioni i cui elementi sono di diverso tipo, vale la precedenza di tipo

(e.g., float > int). La divisione tra due dati numerici restituisce sempre un float, anche

tra soli interi. Stringhe e dati numerici sono incompatibili per addizione, sottrazione e divisione. La moltiplicazione tra una stringa e un intero è ammessa: viene prodotta una stringa, ripetuta da quella di partenza tante volte quanto il numero intero. Python permette due modi per dividere dei numeri: o Vera divisione (/) : converte i numeri a float prima della divisione, che viene poi eseguita. o Divisione intera (//) : calcola il quoziente. Ad esempio, 7 // 4 risulta in 1, poiché 4 sta nel 7 una volta, con il resto di 3. Per ottenere il resto di una divisione , si utilizza l'operatore modulo (%).

  • L’istruzione di partenza per istruzioni composte, come if, while, def, e class, terminano sempre con i doppi punti : (Il punto e virgola è opzionale alla fine di ogni istruzione.).
  • Quando un errore si verifica nel codice, l'interprete di Python mostra un messaggio contenente diverse informazioni: (1) numero di riga dell'errore; (2) tipo dell'errore; (3) dettagli maggiori sull'errore. ^ (caret) mostra dove è stato individuato l'errore, ma può essere anche accaduto qualche linea prima Traceback corrisponde ad un riassunto sulla locazione e tipo dell'errore individuato.

all'ultimo elemento, -2 al penultimo, e così via. L'indice è utilizzato all'interno delle parentesi quadre, poste dopo il nome della lista (es. list[3] per accedere al quarto elemento in list). La funzione list() prende un iterabile e converte ogni suo carattere in un elemento di una nuova lista (list[“abc”] ---> ['a', 'b', 'c']).

  • Una oggetto tupla , come una lista, può essere utilizzato per raggruppare elementi in Python. Una tupla è definita usando parentesi tonde, al cui interno si dichiarano una serie di valori, separati dalla virgola. Le tuple possono essere costituite da elementi di ogni tipo, e possono contenere interi, decimali, stringhe, o qualsiasi altro tipo. Le tuple sono immutabili (non possono essere modificate dopo la creazione).

Si può anche dichiarare una tupla vuota in due modi: (1) tuple_1 = (); (2) tuple_1 =

tuple().

L'accesso ai vari elementi è, come per le liste, tramite indice. In Python, una tupla con un solo elemento richiede una virgola finale (elemento,) per distinguerla dalle parentesi tonde usate per le espressioni matematiche (5), che in quel caso creerebbero semplicemente un numero intero.

  • Le istruzioni condizionali sono strumenti che permettono al programma di compiere delle scelte, eseguendo parti di codice diverse a seconda che una situazione sia vera o falsa. o Istruzioni Condizionali (if e if-else). L'istruzione if è la struttura base: contiene una condizione (un'espressione che può essere vera o falsa) e un corpo di istruzioni. Se la condizione è vera, il codice nel corpo viene eseguito; se è falsa, il programma lo salta e passa oltre. Le istruzioni nel corpo devono essere sempre indentate (spostate a destra di 4 spazi) per essere riconosciute come parte del blocco. L'istruzione else si usa insieme all'if per gestire i casi in cui la condizione è falsa: in una struttura if-else , il programma percorrerà solo uno dei due rami, eseguendo o il codice dell'if (se vero) o quello dell'else (se falso). o Decisioni a Cascata (elif). Quando devi controllare molte condizioni diverse in sequenza , si usano le decisioni a cascata tramite l'istruzione elif (abbreviazione di "else if"). Il programma controlla la prima condizione (if). Se è falsa, passa a controllare la seconda (elif), poi la terza, e così via. Viene eseguito solo il blocco corrispondente alla prima condizione che risulta vera. In fondo alla "catena" può esserci un blocco else opzionale che scatta se nessuna delle condizioni precedenti è stata soddisfatta. o Decisioni Innestate. Si parla di decisioni innestate quando si inserisce un'istruzione if (o un if-else) all'interno di un'altra istruzione condizionale. Questo serve per gestire scelte più complesse che dipendono da una scelta precedente.
  • L' espressione condizionale (o operatore ternario) è una versione semplificata dell'istruzione if-else scritta su una sola riga di codice. La sua sintassi è: valore_se_vero if condizione else valore_se_falso

Viene spesso utilizzata per assegnare velocemente un valore a una variabile in base a una condizione (ad esempio: risultato = "Promosso" if voto >= 18 else "Bocciato"). Tra tutte le operazioni di Python, queste espressioni hanno la precedenza più bassa.

  • La funzione range() genera una sequenza di interi compresi tra due numeri, e dato un intervallo. La sequenza generata comprende il primo numero ma esclude l'ultimo.
  • Il ciclo while è un costrutto che permette di eseguire ripetutamente un blocco di istruzioni finché una determinata condizione rimane vera. All'inizio di ogni giro, Python valuta la condizione: se il risultato è True, il corpo del ciclo viene eseguito di nuovo; se è False, il ciclo termina e il programma passa alle istruzioni successive. Solitamente, per gestire questi cicli ed evitare che diventino infiniti, si utilizzano delle variabili chiamate contatori.
  • In Python, i contatori sono variabili utilizzate tipicamente all'interno del ciclo while per tenere traccia delle ripetizioni e controllare quando l'esecuzione deve terminare. Secondo quanto indicato nelle fonti, il funzionamento di un contatore segue tre fasi principali:
  1. Inizializzazione: prima che il ciclo abbia inizio, è necessario creare la variabile e assegnarle un valore di partenza (ad esempio contatore = 0 o counter = 1).
  2. Valutazione della condizione: il ciclo while controlla se il contatore soddisfa una determinata espressione (ad esempio while counter <= 10). Finché questa condizione è vera, il blocco di istruzioni interno viene eseguito.
  3. Aggiornamento: all'interno del corpo del ciclo, il valore del contatore deve essere incrementato (solitamente di 1, usando counter += 1) ad ogni giro. Se il contatore non venisse aggiornato, la condizione rimarrebbe sempre vera, causando un ciclo infinito.
  • Il ciclo for serve invece per scorrere (iterare) tutti gli elementi di un contenitore , come una lista di valori, una stringa o una sequenza di numeri. A differenza del ciclo while, il for è più automatico poiché non richiede un contatore manuale: esso considera infatti tutti i valori del contenitore uno dopo l'altro tramite la parola chiave in. Per creare sequenze numeriche da utilizzare con il for, si usa spesso la funzione range().
  • I cicli innestati si hanno quando un ciclo (detto interno) viene inserito all'interno del corpo di un altro ciclo (detto esterno). Questa struttura viene utilizzata principalmente per lavorare con dati multidimensionali , permettendo ad esempio di scorrere elementi organizzati in righe e colonne.
  • L'istruzione break viene usata per interrompere immediatamente un ciclo for o while prima del tempo. Quando Python incontra un break, esce subito dal ciclo e riprende l'esecuzione del codice dalla prima istruzione disponibile dopo il blocco del loop.
  • L'istruzione continue serve invece a saltare solo la parte rimanente del corpo del ciclo per quel particolare giro. Invece di uscire del tutto come fa il break, il programma passa direttamente alla prossima iterazione (al prossimo elemento nel for o al controllo della condizione nel while).
  • Per aggiungere un elemento ad una lista, in coda, si usa il metodo append(). Es list.append(el1)
  • Per rimuovere uno specifico elemento da una lista, si usa il metodo remove(). Es list.remove(el5)
  • Per rimuovere l'ultimo elemento di una lista, si usa il metodo pop(). Es list.pop() --> restituisce l’elemento rimosso
  • Il metodo sort() ordina gli elementi di una lista in modo crescente. N.B. In ASCII, le maiuscole hanno un valore intero più piccolo delle minuscole…
  • Il metodo reverse() inverte l'ordine degli elementi di una lista.
  • La funzione max() ritorna il più grande elemento di una lista.
  • La funzione min() ritorna il più piccolo elemento di una lista.
  • La funzione sum() ritorna la somma degli elementi della lista.
  • Il metodo copy() è utilizzato per creare una copia di una lista.
  • • • • • • • • • • • • •