Python PDF Stampa E-mail
Scritto da Staff   
Giovedì 15 Gennaio 2009 18:12
Linguaggio PythonPython è un potente linguaggio di programmazione ad alto livello interpretato creato da Guido van Rossum. Prende il nome dalla serie televisiva Monty Python's Flying Circus.
 
Cosa è Python?
 Python è un linguaggio multi-paradigma. Infatti permette in modo agevole di scrivere programmi seguendo il paradigma object oriented, oppure la programmazione strutturata, oppure la programmazione funzionale. Il controllo dei tipi è forte (strong typing) e viene eseguito a runtime (dynamic typing). In altre parole una variabile può assumere nella sua storia valori di tipo diverso, tuttavia in ogni istante appartiene ad un tipo ben definito. Usa un garbage collector per la gestione automatica della memoria.
 
Python ha qualche similarità con Perl, ma i suoi progettisti hanno scelto la via di una sintassi più essenziale e uniforme, con l'obiettivo di aumentare la leggibilità del codice. Come il Perl spesso è classificato linguaggio di scripting, ma pur essendo utile per scrivere script di sistema (in alternativa ad esempio a bash), la grande quantità di librerie disponibili e la facilità con cui questo linguaggio permette di scrivere software modulare favoriscono anche lo sviluppo di applicazioni molto complesse.
 
 
Caratteristihe
 
Tipi di dati e strutture  
 Python ha un gran numero di tipi base. Oltre ai tipi interi e floating point classici, supporta in modo trasparente numeri interi arbitrariamente grandi e numeri complessi. Dalla versione 2.4 sono disponibili anche i numeri decimali (decimal), ovvero numeri con la virgola a precisione illimitata.
 
Le stringhe
 Le stringhe in Python sono oggetti immutabili, cosicché qualsiasi operazione che in qualche modo potrebbe alterare una stringa (come ad esempio la sostituzione di un carattere) restituirà invece una nuova stringa.
 
Essendo il Python a tipizzazione dinamica, tutte le variabili sono in realtà semplici puntatori ad oggetto (reference), sono gli oggetti invece ad essere dotati di tipo. Ad esempio ad una variabile cui era assegnato un intero, un istante dopo può essere assegnata una stringa o un array.
 
Contenitori standard
 Python ha una serie di tipi contenitori come ad esempio liste, tuple e dizionari. Liste, tuple e dizionari sono sequenze e condividono la maggior parte dei metodi. Le liste sono array estendibili, invece le tuple sono array immutabili di lunghezza prefissata.
 
 Altri contenitori di grande utilità sono i dizionari, conosciuti in altri contesti con il nome di hash table oppure array associativi. Gli elementi dei dizionari sono composti da una coppia di dati separati da due punti ':'. Il primo elemento della coppia rappresenta l' indice (detto 'chiave') mentre il secondo è il suo valore corrispondente. Ogni elemento è detto coppia chiave-valore.
 
Organizzazione ad oggetti  
 Il sistema dei tipi Python è ben integrato con il sistema delle classi. Anche se i tipi base non sono precisamente classi, una classe può ereditare da essi. In questo modo è possibile estendere stringhe, dizionari e/o perfino gli interi. L'ereditarietà multipla è supportata.
 
 
Sintassi   
 Python è stato progettato in modo da essere altamente leggibile. Visivamente si presenta in modo molto semplice e ha pochi costrutti sintattici rispetto a molti altri linguaggi strutturati come C, Perl o Pascal.
 
 Python ha solo due forme di ciclo: for che cicla sugli elementi di una lista o su di un iteratore e while che cicla fin tanto che l'espressione booleana indicata risulterà vera. In sostanza manca dei cicli in stile C for, do...while, oppure di un until in stile Perl, ma tutti questi naturalmente possono essere espressi con dei semplici equivalenti. Allo stesso modo ha solamente il costrutto if...elif...else per le scelte condizionate, ma niente switch oppure goto.
 
 Un aspetto inusuale del Python è il metodo che usa per delimitare i blocchi di programma, che lo rende unico fra i linguaggi più diffusi. Python deriva il suo sistema di indentazione dal meno noto linguaggio di programmazione Occam: invece di usare parentesi o parole chiave, usa l'indentazione stessa per indicare i blocchi nidificati (si può usare sia una tabulazione, sia n spazi bianchi, ma lo standard Python è 4 spazi bianchi).
 
 Programmazione funzionale   
Come detto sopra, un altro punto di forza del Python è la disponibilità di elementi che facilitano la programmazione funzionale. Come ci si può aspettare, questo rende ancora più comodo operare con liste o altri tipi contenitore.  
 
 Gestione delle eccezioni  
Python supporta e usa estensivamente la gestione delle eccezioni come un mezzo per controllare la presenza di eventuali condizioni di errore. Addirittura è possibile intercettare l'eccezione generata da un errore di sintassi (syntax error)!
 
 Libreria standard   
Python ha una vasta libreria standard, il che lo rende adatto a molti impieghi. Oltre ai moduli della libreria standard se ne possono aggiungere altri scritti in C oppure Python per soddisfare le proprie esigenze particolari. Tra i moduli già disponibili ce ne sono per scrivere applicazioni web (sono supportati MIME, HTTP e tutti gli altri standard internet). Sono disponibili anche moduli per creare applicazioni con interfaccia grafica, per connettersi a database relazionali, per usare le espressioni regolari e per fare molte altre cose.
 
 Altre caratteristiche   
L'interprete Python supporta anche un modo d'uso interattivo attraverso il quale è possibile inserire codice direttamente da un terminale, vedendo immediatamente il risultato. Questo è un bel vantaggio per chi sviluppa: brevi tratti di codice possono essere provati in modo interattivo prima di essere integrati nel programma principale.
 
Python dispone anche di un framework per lo unit testing che permette di creare serie esaustive di test.
 

Seguici su TwitterSeguici su Identi.caSegui il nostro blog

Newsletter

Iscriviti e sarai sempre aggiornato


Ricevi HTML?

Approfondimenti tecnologici