Il 0% ha trovato utile questo documento (0 voti)
3 visualizzazioni47 pagine

05 Intro Python

Il documento fornisce una panoramica su Python, un linguaggio di programmazione ad alto livello creato da Guido van Rossum negli anni '90. Viene descritta l'evoluzione delle sue versioni, dalle origini con Python 1.x, passando per Python 2.x fino all'attuale Python 3.x, evidenziando le caratteristiche principali e la filosofia di design del linguaggio. Inoltre, vengono trattati aspetti pratici come l'installazione, l'uso di variabili, tipi di dato e funzioni di input/output.
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)
3 visualizzazioni47 pagine

05 Intro Python

Il documento fornisce una panoramica su Python, un linguaggio di programmazione ad alto livello creato da Guido van Rossum negli anni '90. Viene descritta l'evoluzione delle sue versioni, dalle origini con Python 1.x, passando per Python 2.x fino all'attuale Python 3.x, evidenziando le caratteristiche principali e la filosofia di design del linguaggio. Inoltre, vengono trattati aspetti pratici come l'installazione, l'uso di variabili, tipi di dato e funzioni di input/output.
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

Andrea Augello

Department of Engineering, University of Palermo, Italy

Python

Fondamenti di Informatica e Programmazione — 9 CFU


Introduzione

Python è un linguaggio di programmazione ad alto


livello, molto semplice da utilizzare.
È stato creato a inizio degli anni novanta da Guido
van Rossum.

Il nome deriva dalla passione del suo creatore per i


Monty Python.
Introduzione

Python è un linguaggio di programmazione ad alto


livello, molto semplice da utilizzare.
È stato creato a inizio degli anni novanta da Guido
van Rossum.

Il nome deriva dalla passione del suo creatore per i


Monty Python.

Guido van Rossum si è auto-proclamato


“Benevolent Dictator for Life” di Python. Si è
dimesso da BDFL nel 2018.
Python 1.x (1994–2000)

La prima versione di Python fu rilasciata negli anni ’90, introducendo


molte feature che sono ancora alla base del linguaggio, come: le funzioni
lambda, le mappe, i filtri, e le liste. Già da questa versione Python era un
linguaggio che supportava multipli paradigmi di programmazione.

Nel corso degli anni ’90 sono uscite le versioni di Python dalla 1.1 alla 1.6
espandendone le funzionalità e raffinando le caratteristiche progettuali.
Python 2.x (2000–2020)

Una notevole evoluzione è avvenuta nel l’ottobre 2000 con il rilascio di


Python 2.0. Questa versione ha introdotto notevoli feature estremamente
potenti:
▶ Le list comprehension, che permettono di creare liste in modo molto
conciso;
▶ Il supporto all’unicode per le stringhe a supporto
dell’internazionalizzazione;
▶ Garbage collection avanzata per l’uso ottimizzato della memoria.
Python 2.x (2000–2020)

Python 2 ebbe un’enorme diffusione, e molte librerie e framework furono


sviluppati per questa versione.

Questa versione fu aggiornata fino alla versione 2.7, rilasciata nel 2010.

Originariamente era previsto che il supporto a Python 2 terminasse nel


2015, ma a causa della diffusione di questa versione, il supporto è stato
esteso fino al 2020 per dare il tempo agli sviluppatori di migrare al nuovo
Python 3.
Python 3.x (2008–Oggi)

Nel 2008 è stato rilasciato Python 3.0, rappresentando una significante


evoluzione nel linguaggio.

Lo scopo di questa nuova versione era di risolvere alcuni problemi di


progettazione e di semplificare il linguaggio, rendendolo più coerente e
più facile da imparare. Tuttavia questa versione non è retrocompatibile
con Python 2, e molte librerie e framework sviluppati per Python 2 non
sono compatibili con Python 3, costringendo ad un lungo processo di
migrazione.
“Filosofia” di Python

Python è contraddistinto da una filosofia di design che enfatizza la


semplicità e leggibilità del codice, con l’obiettivo di rendere il codice più
chiaro e comprensibile.
“Filosofia” di Python

Python è contraddistinto da una filosofia di design che enfatizza la


semplicità e leggibilità del codice, con l’obiettivo di rendere il codice più
chiaro e comprensibile.

Cosa pensate faccia questo codice?


for i in range (1 , 10) :
print ( i )
Caratteristiche del linguaggio
Caratteristiche del linguaggio

Approccio multi-paradigma: Python supporta molti paradigmi di


programmazione, dando molta flessibilità allo sviluppatore.
▶ Programmazione strutturata con costrutti di controllo del flusso;
▶ Programmazione orientata agli oggetti, con supporto per classi ed
ereditarietà;
▶ Programmazione funzionale con le funzioni tipi di prima classe;
▶ Programmazione orientata agli aspetti, grazie a
metaprogrammazione e metaoggetti.
Caratteristiche del linguaggio

▶ Linguaggio colla: Python può facilmente integrare componenti scritti


in linguaggi diversi.
▶ Gestione della memoria: Python utilizza un sistema di garbage
collection per gestire la memoria, evitando la necessità di gestire
manualmente l’allocazione e la deallocazione della memoria.
▶ Tipizzazione dinamica: Python è un linguaggio a tipizzazione
dinamica, il che significa che non è necessario specificare il tipo di una
variabile quando viene dichiarata.
Popolarità
Ambiti di utilizzo

Esistono molti moduli e librerie (sia ufficiali che di terze parti) che
estendono le funzionalità di Python, rendendo possibile sviluppare
applicazioni complesse in modo rapido e semplice.
▶ Sviluppo web: Django, Flask, Pyramid;
▶ Analisi dei dati: Pandas, Matplotlib;
▶ Calcolo scientifico: NumPy, SciPy, Numba, SymPy;
▶ Machine learning e intelligenza artificiale: TensorFlow, Keras, PyTorch;
▶ Sistemi informativi territoriali: QGIS, GRASS GIS;
▶ Internet of Things: MicroPython;
Installazione di Python

▶ Su Windows, Python deve essere installato.


▶ Su macOS e Linux Python 3 è generalmente pre-installato.
Esistono anche diversi interpreti di Python utilizzabili gratuitamente
[Link]
online, da qualsiasi browser (e.g., https:// [Link]/ i).
Installaione su Windows: Metodo 1

Il metodo più semplice per installare Python su Windows è utilizzare il


https://
Microsoft Store: https://
[Link]
https:// [Link]/
[Link]/search?query=python&gl=IT
search?query=python&gl=IT
search?query=python&gl=IT
1. Accedere al menu Start (icona di Windows in basso a sinistra), digitare
“Microsoft Store” e selezionare il link per aprire lo store.
2. Una volta aperto lo store, selezionare Cerca dal menu in alto a destra e
inserire “Python”. Selezionate Python 3.12 dai risultati sotto la voce
Applicazioni, poi selezionate Ottieni.
3. Una volta completato il processo di download e installazione, aprite
Windows PowerShell dal menu Start (icona di Windows in basso a
sinistra). Una volta aperto PowerShell, inserite python –version per
confermare che Python è stato installato correttamente.
4. L’installazione di Python include pip. Pip consente di installare e
gestire pacchetti aggiuntivi. Per confermare che anche pip è
disponibile per installare e gestire i pacchetti, digitate pip –version.
Installazione su Windows: Metodo 2
https://
https://
[Link]
[Link]/
[Link]/downloads/
downloads/
downloads/
Installazione su Windows: Metodo 2
Editor su Windows: IDLE

IDLE è un semplice editor che viene installato automaticamente insieme a


Python.
Editor avanzato: Visual Studio Code

Visual Studio Code è un editor di codice sorgente sviluppato da Microsoft


per Windows, Linux e macOS.

https://
[Link]
https:// [Link]/Download
[Link]/ Download
Download

VS Code è un editor molto potente e flessibile, con molte funzionalità


avanzate, come il supporto per sistemi di controllo di versione, debugging,
refactoring, e molto altro. Tuttavia è anche più complicato da utilizzare
appieno.
Cosa significa REPL?

Read – Eval – Print Loop


Ambiente di programmazione Read Eval
interattivo.
Esegue sempre le stesse operazioni
in loop:
▶ accetta input da parte
dell’utente (read);
▶ elabora un’espressione (eval);
▶ stampa il risultato (print). Print
Primo programma — Hello world

Diagramma di flusso:

Inizio

Stampa "Hello world"

Fine

Python:
print ( " Hello world " )
Variabili

La variabile è un contenitore, identificato in modo univoco da un nome, in


cui è possibile memorizzare dati di vario tipo (numeri, stringhe, ecc.) che
possono essere modificati durante l’esecuzione di un programma.
Variabili

La variabile è un contenitore, identificato in modo univoco da un nome, in


cui è possibile memorizzare dati di vario tipo (numeri, stringhe, ecc.) che
possono essere modificati durante l’esecuzione di un programma.

In Python, esistono alcune regole sui nomi delle variabili.


▶ Possono contenere una combinazione di lettere minuscole,
maiuscole, cifre o underscore.
Esempi: prova1, nome_variabile
▶ Non possono iniziare con una cifra.
Ad esempio, variabile1 è un nome valido, 1variabile no.
▶ Alcune parole chiave del linguaggio non possono essere utilizzate.
Esempi: if, while, for. . .
Tipi di dato

I tipi di dato principali di Python sono i seguenti:

Tipo Descrizione Esempio


int Numero intero, positivo o negativo. 15
float Numero qualsiasi, anche frazionario. 32.6
str Stringa (parole, lettere, frasi) "Hello"
bool Valore logico (Booleano) True False
list Lista (sequenza di elementi). [5, 12, 42, 8, 5]
set Insieme di oggetti unici. {2, 9, 24}
dict Dizionario (coppie chiave-valore). {"x":2, "y":5}
Variabili — Assegnamento

In Python, non è necessario dichiarare le variabili prima di utilizzarle.


Non è neanche necessario specificare il tipo delle variabili.
a = " Hello "
b = 42.6
c = True
Variabili — Assegnamento

In Python, non è necessario dichiarare le variabili prima di utilizzarle.


Non è neanche necessario specificare il tipo delle variabili.
a = " Hello "
b = 42.6
c = True

In Python è possibile anche effettuare più assegnamenti in


contemporanea. Esempio:
x , y , z = 8 , 33 , " Python "
Variabili — Assegnamento

In Python, non è necessario dichiarare le variabili prima di utilizzarle.


Non è neanche necessario specificare il tipo delle variabili.
a = " Hello "
b = 42.6
c = True

In Python è possibile anche effettuare più assegnamenti in


contemporanea. Esempio:
x , y , z = 8 , 33 , " Python "

In questo caso gli assegnamenti avvengono “in contemporanea”, per cui,


volendo, per scambiare due variabili (swap) si può fare semplicemente:
x, y = y, x
Leggere valori da tastiera

Per leggere un valore da tastiera si usa la funzione input. Ad esempio, il


seguente codice legge un valore e lo assegna alla variabile x:
x = input ()
Leggere valori da tastiera

Per leggere un valore da tastiera si usa la funzione input. Ad esempio, il


seguente codice legge un valore e lo assegna alla variabile x:
x = input ()

È anche possibile aggiungere un messaggio per l’utente:


x = input ( " Inserisci un valore : " )

Attenzione: i valori letti in questo modo saranno considerati sempre come


stringhe. Se si vuole lavorare con un numero, ad esempio, è necessario
convertire il valore.
Conversioni di tipo

Esistono particolari funzioni che convertono valori da un tipo ad un altro.


Queste funzioni hanno lo stesso nome dei tipi. Esempi:
int(x) Conversione in intero
float(x) Conversione in float
str(x) Conversione in stringa
bool(x) Conversione in booleano
Conversioni di tipo

Esistono particolari funzioni che convertono valori da un tipo ad un altro.


Queste funzioni hanno lo stesso nome dei tipi. Esempi:
int(x) Conversione in intero
float(x) Conversione in float
str(x) Conversione in stringa
bool(x) Conversione in booleano

Quindi, se vogliamo leggere da tastiera un numero intero, possiamo usare


il seguente codice:
x_stringa = input ( " Inserisci un numero : " )
x = int ( x_stringa )
Conversioni di tipo

Esistono particolari funzioni che convertono valori da un tipo ad un altro.


Queste funzioni hanno lo stesso nome dei tipi. Esempi:
int(x) Conversione in intero
float(x) Conversione in float
str(x) Conversione in stringa
bool(x) Conversione in booleano

Quindi, se vogliamo leggere da tastiera un numero intero, possiamo usare


il seguente codice:
x_stringa = input ( " Inserisci un numero : " )
x = int ( x_stringa )

Oppure, in modo più sintetico:


x = int ( input ( " Inserisci un numero : " ) )
Print — Stampa a schermo

Per stampare a schermo dei valori si usa la funzione print. Ad esempio, il


seguente codice stampa a schermo il valore 12:
x =12
print ( x )

Per stampare una stringa si usano le virgolette. Esempio:


print ( " Hello world " )

Ci sono diversi modi per stampare sia stringhe che valori contenuti nelle
variabili in un’unica istruzione. Uno dei modi più semplici è separare i
valori tramite virgola. Ad esempio, il seguente codice stampa a schermo la
stringa “Risultato: 12”:
x =12
print ( " Risultato : " , x )
Opzioni avanzate per la stampa

▶ sep: separatore tra i valori. Di default è uno spazio.


▶ end: carattere da stampare alla fine della riga. Di default è un a capo.

>>> print (1 , 2 , 3 , sep = ’ - ’ , end = ’ !\ nThe end \ n ’)


1 -2 -3!
The end
Commenti

I commenti non modificano l’esecuzione di un programma.


Il loro scopo è quello di chiarire alcune parti di codice che potrebbero
risultare poco chiare.
In Python, i commenti sono indicati dal simbolo # Tutto ciò che segue il #,
in una riga di codice, viene ignorato dall’interprete.
# Commento
x =5 # Altro commento
Operatori

Operatore Simbolo Esempio


Uguaglianza == x==3
Disuguaglianza != x!=12
Operatori relazionali >, >=, <, <= x<=8
Operatori aritmetici +,-,*,/ (5+3)*2 → 16
Divisione intera // 19//5 → 3
Potenza ** 5**2 → 25
Modulo % 9%2 → 1
Stringhe

Le stringhe, in Python, sono sequenze di caratteri inclusi tra apici singoli o


doppi. Può includere lettere, numeri, spazi, simboli speciali, ecc.
Le stringhe sono sequenze non modificabili (non è possibile cambiare
singoli caratteri).
Stringhe multilinea

Utilizzando tre apici singoli o doppi è possibile creare stringhe multilinea


che includano spazi e a capo.

Questa funzionalità è utile per scrivere stringhe di testo formattate, come


ad esempio i commenti di documentazione.
Operazioni su stringhe

Sulle stringhe è possibile effettuare operazioni di concatenazione e


ripetizione:

stringa1 = " Hello "


stringa2 = " World "
stringa3 = stringa1 + stringa2

print ( stringa3 ) # stampa " HelloWorld "

stringa4 = " -" * 10


print ( stringa4 ) # stampa " - - - - - - - - - -"
Escaping nelle Stringhe

Alcune sequenze di caratteri nelle stringhe hanno un significato speciale.


Per includerle in una stringa, è necessario fare escaping.
▶ \n - Nuova riga.
▶ \t - Tabulazione.
▶ \\ - Escape di e backslash.
Stringhe Raw

Le stringhe "raw" ignorano i caratteri di escape:


▶ raw_str = r"Questa è una stringa_raw con \n"
▶ Utili per percorsi di file o espressioni regolari.
Le f-string

Le f-string sono una funzionalità introdotta in Python 3.6 che permette di


formattare le stringhe in modo più semplice e leggibile.

Le f-string sono stringhe prefissate dalla lettera f o F, e possono contenere


espressioni racchiuse tra parentesi graffe.

Le espressioni vengono valutate e il risultato viene inserito nella stringa.

Esempio:
x = 12
f ’ Il valore di x è { x } , non { x +1} ’
Le f-string

Opzionalmente, è anche possibile specificare il formato di stampa dopo


l’espressione.

Esempio:
f ’ Il valore di 1/3 è {1/3:.2 f } ’

Questo codice stampa a schermo il valore di 1/3 con due cifre decimali.
Le f-string

Opzionalmente, è anche possibile specificare il formato di stampa dopo


l’espressione.

Esempio:
f ’ Il valore di 1/3 è {1/3:.2 f } ’

Questo codice stampa a schermo il valore di 1/3 con due cifre decimali.

Un numero intero dopo i due punti indica la larghezza del campo


(permetendo di allineare le stampe), mentre il numero dopo il punto
indica il numero di cifre decimali.
print ( f ’ {1/3:10.2 f } ’ , f ’ {2**6:10.2 f } ’ , sep = ’\ n ’)

d per interi, f per float.


Espressioni auto-documentate

Le f-string possono essere utilizzate per rendere le espressioni più leggibili


e auto-documentate. Questo è utile soprattutto a scopo di debugging.

Esempio:
x = 12
y = 5
print ( f ’{ x =} e { y =} ’)

Dopo il simbolo di uguale è possibile specificare con i due punti il formato


di stampa.
Feedback

https:// [Link]/ EQCGDS/ questionnaires/


699ecc328392bbbb0735317d

Potrebbero piacerti anche