Python è un linguaggio di programmazione ad alto livello, interattivo ed orientato agli oggetti. Combina un’eccezionale potenza con una sintassi estremamente chiara ed intuitiva. Ha interfacce verso diversi ambienti grafici ed è estensibile in C e in C++.
E’ inoltre adatto come linguaggio di configurazione ed estensione per le applicazioni che richiedono un’interfaccia programmabile.
Può girare su molte varianti di Unix, su Mac, PC con MS-DOS, Windows e OS/2.
Come nasce il linguaggio di programmazione Python?
Python nasce dall’olandese Guido Van Rossum che, nel Natale del 1989, decise di scrivere un linguaggio di programmazione che correggesse la maggior parte dei difetti presenti, a suo parere, negli altri linguaggi.
Il termine “Python” deriva dalla passione del suo ideatore per un famoso gruppo di comici inglesi degli anni sessanta, i Monty Python.
A questo gruppo è legato anche un altro termine molto noto nel mondo dell’informatica: lo spam.
Interpretato ed interattivo
Per l‘esecuzione di un programma la maggior parte dei linguaggi di programmazione necessitano di:
– una scrittura del codice sorgente
– la compilazione
– il “linkaggio” delle librerie necessarie
Python non ha bisogno di tutto ciò, è capace di eseguire direttamente il codice sorgente che avete scritto: per questo motivo è detto interpretato.
Permette inoltre di scrivere istruzioni direttamente dal suo prompt dei comandi, senza dover creare o modificare un file sorgente.
Per questo viene definito interattivo.
Quest’ultima modalità d’uso è, come vedremo, estremamente comoda e veloce.
Orientato agli oggetti
Questa espressione è la traduzione letterale del termine inglese “object-oriented“.
Indica un paradigma che prevede la soluzione di un problema non in termini di una successione di istruzioni, ma di oggetti e dei relativi attributi.
Molti linguaggi di programmazione sono definiti “object-oriented ma, come vedremo successivamente, con Python è molto più semplice gestire “un oggetto”.
Moduli
Python mette a disposizione una grande quantità di librerie pronte all’uso che prendono il nome di “moduli”.
Sono in grado di fornire un’enorme quantità di codice, già testato e del tutto funzionante.
Anche importare un modulo è più facile e veloce con Python rispetto agli altri linguaggi di programmazione.
Eccezioni
La gestione degli errori in Python è simile a quella degli altri linguaggi, come Java: infatti utilizza le eccezioni.
Un’eccezione è provocata da un evento anomalo o imprevisto che compromette l’esecuzione del codice.
Esempio
Un’eccezione potrebbe essere dovuta ad un input non valido da parte di un utente: come un valore alfabetico al posto di un valore numerico. Oppure può essere dovuta ad un’anomalia hardware, ad esempio tentare di scrivere un file su un hard disk pieno.
Tuttavia le eccezioni possono anche essere previste dal programmatore.
In questo caso vengono dette eccezioni gestite (handled). Quelle impreviste invece si dicono non gestite (unhandled).
Tipizzazione dinamica
In un linguaggio di programmazione la tipizzazione delle variabili può essere:
-Statica: il programmatore dichiara in modo esplicito il tipo della variabile prima dell’utilizzo;
-Dinamica: il compilatore, in base al valore assegnato alla variabile, ne decide interpreta il tipo.
Python utilizza la tipizzazione dinamica. Nonostante ciò è un linguaggio fortemente tipizzato.
Infatti non è possibile sommare una variabile di tipo stringa (sequenza di caratteri alfabetici) a una variabile numerica, senza convertire quest’ultima in stringa: si scatenerebbe un’eccezione!
Tipi di dati di alto livello
Oltre ai tipi di dati più usuali come interi, stringhe, boolean, float (di cui parleremo in seguito nello specifico), Python utilizza anche tipi di dati specializzati come: liste, tuple, set e dizionari.
Liste
Una lista è un elenco ordinato di oggetti non necessariamente dello stesso tipo.
E’ possibile aggiungere alla lista nuovi elementi in fondo, all’inizio o in una posizione specifica.
Così come è possibile estrarre un elemento o una sequenza di elementi da essa.
Si possono creare cicli sugli elementi o cercarne uno in particolare e così via.
Tuple
Una tupla è sostanzialmente una lista, ma immutabile. Una volta assegnata non può essere più modificata.
Dunque non è possibile aggiungere o togliere un elemento.
L’utilizzo delle tuple è utile in caso di dati che non devono essere mai modificati dopo l’assegnamento.
Sono molto più efficienti rispetto alle liste per tempo di esecuzione e consumo di memoria, ma offrono meno funzionalità.
Set
Un set è un insieme di elementi non ordinati e senza duplicati.
Se inizializziamo un set con un elenco contenente elementi ripetuti, questi appariranno una sola volta.
I set permettono di effettuale tutte le classiche operazioni che si possono fare con gli insiemi: unione, differenza ed intersezione.
Vi è anche una quarta operazione che è l’intersezione asimetrica, che individua gli elementi che sono presenti in uno solo dei set.
Dizionario
Un dizionario è una collezione di oggetti di qualunque tipo che possono essere reperiti tramite una chiave.
La chiave può essere un intero, una stringa, una tupla o un qualunque oggetto immutabile (quindi non una lista).
Sintassi estremamente chiara
La sintassi di Python è molto chiara ed intuitiva, tant’è che è possibile comprendere lo scopo di un programma anche in assenza di commenti.
Particolarità importantissima di questo linguaggio risiede nell’identazione.
Python utilizza l’identazione per delimitare blocchi di istruzioni: nessuna parentesi, sintassi end-if, next o altro.
3 risposte