Python è un linguaggio di programmazione moderno, dalla sintassi semplice e potente che ne facilita l’apprendimento. Gli ambiti di applicazione di questo linguaggio di programmazione sono svariati: sviluppo di siti o applicazioni Web e desktop, realizzazione di interfacce grafiche, amministrazione di sistema, calcolo scientifico e numerico, database, giochi, grafica 3D, eccetera.
L’obiettivo di questa guida è quello di fornire una panoramica generale sulla programmazione in Python, che permetta al lettore di sviluppare in modo facile e veloce le proprie applicazioni.
Nota: Questa è la riedizione della guida Python di Stefano Riccio, revisionata e aggiornata da Ezio Melotti, Andrea Sindoni, e dalla redazione di HTML.it
Prima di iniziare, può essere utile capire come e dove è nato Python. Per farlo bisogna tornare un po’ indietro nel tempo precisamente nei primi anni ottanta. In quegli anni, al National Research Institute for Mathematics and Computer Science (CWI) di Amsterdam, alcuni ricercatori tra cui Guido Van Rossum hanno sviluppato un linguaggio di nome ABC, molto potente ed elegante, che era diventato popolare nel mondo Unix.
Guido Van Rossum
Qualche anno dopo (fine anni ottanta) Guido Van Rossum ha avuto una serie di idee mirate al miglioramento di ABC, e pertanto si mise a lavorare allo sviluppo di un nuovo linguaggio: Python, appunto.
Nel 1996 scrisse come prefazione del libro “Programming Python”, prima edizione, le seguenti parole:
«Più di sei anni fa, nel dicembre 1989, stavo cercando un progetto di programmazione per “hobby” che mi avrebbe dovuto tenere occupato nella settimana vicina a Natale. Il mio ufficio… sarebbe stato chiuso, ma io avevo un computer, e non molto di più. Decisi di scrivere un interprete per un nuovo linguaggio di scripting a cui avrei pensato dopo: un discendente dell’ABC, che sarebbe dovuto appartenere agli hacker di Unix. Scelsi Python come nome per il progetto, essendo leggermente irriverente (e perchè sono un grande fan di Monty Python’s Flying Circus).»
Nel 2000 Van Rossum e il suo team si trasferiscono presso BeOpen.com e formano i BeOpen PythonLabs team, con Python giunto alla versione 1.6. Poco tempo dopo viene rilasciata la versione 2.0, che, tra le altre cose, migliorava il linguaggio con l'aggiunta delle “list comprehension“.
Nel 2001 viene rilasciato Python 2.1, e ridefinita la licenza come “Python Software Foundation License”. Python 2.2 fu considerato un “rilascio puliza”, e la principale novità introdotta riguardò l’unificazione dei tipi/classi.
Bisogna arrivare al Dicembre 2008 per assistere ad una vera rivoluzione, con il rilascio della versione 3.0 di Python (o “Python 3000” o “Py3k”). Questa nuova versione è molto simile alla precedente, ma ha semplificato il linguaggio e introdotto diversi miglioramenti (come ad esempio le stringhe Unicode di default). Per via di questi cambiamenti, come vedremo in questa guida, Python 3 non è compatibile con Python 2.
Al momento della scrittura di questa guida, ci sono stati altri 5 rilasci di Python 3 (fino ad arrivare a Python 3.5), che hanno aggiunto ulteriori funzionalità e nuovi moduli. L'ultima versione di Python 2 è invece Python 2.7, che ormai riceve solo bug fix.
Differenze tra Python 2 e Python 3
La seguente lista include alcuni tra i principali cambiamenti introdotti da Python 3 (che saranno comunque più chiaro nella prosieguo della guida):
print
è una funzione (in Python 2 era uno statement) e va invocata usando le parentesi:
print('x')
input
è stato rimosso, eraw_input
è stato rinominatoinput
;- tutte le stringhe sono ora Unicode di default, permettendo l'utilizzo di qualsiasi alfabeto;
- i tipi
unicode
estr
di Python 2 sono stati rinominati rispettivamente instr
ebytes
; - i tipi
long
eint
sono stati unificati inint
; - la divisione tra due
int
ora ritorna unfloat
(per esempio:5 / 2 == 2.5
); - funzioni come
range
,map
, ezip
sono ora più efficienti; - metodi come
dict.keys()
,dict.values()
, edict.items()
restituiscono view invece che creare nuove liste; - l'operatore
<>
e altre sintassi duplicate e obsolete sono state rimosse; - alcuni moduli, metodi, e funzioni sono stati rinominati per rispettare lo stile di scrittura PEP 8.
È possibile trovare in dettaglio tutte le novità della versione 3.0 e anche delle successive versioni sul sito ufficiale di Python.
Nelle prossime lezioni della guida vedremo più nel dettaglio come usare Python e le funzionalità accennate in precedenza.