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]