Introduzione a Python LORENZO DI SILVESTRO www.dmi.unict.it/~disilvestro [email protected] Un po’ di storia (1) 2 Python nasce nel 1990 Prende il nome dai Monty Python Introduzione a Python [email protected] Un po’ di storia (2) 3 Il suo creatore è Guido van Rossum Programmatore olandese Nominato BDFL Lavora dal 2005 alla Google Introduzione a Python [email protected] Cos’è Python 4 Linguaggio di programmazione di alto livello General Purpose Come: C, C++, C#, Java, Pearl, Ruby, Assembly, … Usato spesso come linguaggio di scripting destinato in genere a compiti di automazione del sistema (batch) delle applicazioni (macro) Introduzione a Python [email protected] Interpretato vs. Compilato 5 Lo script Python viene eseguito da un interprete e non direttamente dalla CPU in realtà viene prima compilato in bytecode e poi eseguito da una Python Virtual Machine Python viene definito pseudocompilato Alcune istruzioni vengono interpretate direttamente Introduzione a Python [email protected] Perché Python 6 È gratis e ben documentato È portabile Può essere eseguito (quasi) ovunque Supporta moduli e packages Incoraggia il riutilizzo del codice Ampia diffusione Viene utilizzato da parecchie importanti compagnie Introduzione a Python [email protected] È facile da imparare 7 Sinstassi chiara, enfatizza la leggibilità Whitespaces per delimitare i blocchi di codice Lo fanno gli esseri umani, perchè non un linguaggio? Poche keywords Le variabili non necessitano di dichiarazione Sebbene non sia un linguaggio type-less Duck Typing Interazione dinamica con l’interprete Introduzione a Python [email protected] Ancora vantaggi 8 Si riduce il tempo di sviluppo Il codice è 2x-10x più corto rispetto a quello scritto in C/C++ Strutture dati avanzate Facile manutenzione del codice Il codice risulta estremamente leggibile Programmazione multiparadigma Object Oriented, Imperativo, Funzionale… Introduzione a Python [email protected] Istallazione 9 Sito web: www.python.org Windows Procurarsi l’installer e un semplice click Mac OS X Già istallato! Linux Già presente (solo la versione a linea di comando) Si può usare da shell, con una GUI o un editor di testo Introduzione a Python [email protected] IDLE 10 Multi-window colorized source browser auto-indent autocompletion tool tips search in files 100% pure Python Introduzione a Python [email protected] SciTE 11 syntax highlighting auto-indent unicode support multiple documents code execution output pane RegExp find/replace text export (HTML, RTF, PDF, LaTeX, XML) Introduzione a Python [email protected]