roberto.depietri:pub:python
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
roberto.depietri:pub:python [20/01/2014 10:42] – roberto.depietri | roberto.depietri:pub:python [20/01/2014 11:17] (versione attuale) – roberto.depietri | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | ====== Il linguaggio Python | ||
+ | |||
+ | Il linguaggio Python è stato concepito da Guido Van Rossum alla fine degli anni ‘80 come linguaggio per interfacciarsi al | ||
+ | sistema operativo distribuito Amoeba di Tanenbaum. | ||
+ | |||
+ | Una sua caratteristica che lascia in un primo momento perplessi è che usa l' | ||
+ | sintattica. Questa idea ha una storia che ha origine da una osservazione di Donald E. Knuth: | ||
+ | //**We will perhaps eventually be writing only small modules that are identified by name as they are used to build larger ones, so that devices like indentation, | ||
+ | tratta da " | ||
+ | in una uscita speciale dedicata al " | ||
+ | |||
+ | Ulteriori informazioni posso essere tratte dalle seguenti introduzione al linguaggio: | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | Per una rapida introduzione e verifica di come usare il linguaggio python in ambito scientifico è disponibile presso | ||
+ | il DiFeST una macchina virtuale (Ubuntu 12.04.3 LTS) in cui è installata una distribuzione quasi completa di python e delle estensioni | ||
+ | necessarie (utili) al calcolo in ambiente scientifico | ||
+ | |||
+ | ssh -X -l roberto.depietri@ubuntu-didattica.fis.unipr.it | ||
+ | |||
+ | in cui è disponibile un interfaccia iterativa al linguaggio: " | ||
+ | per usare il linguaggio in ambito scientifico è attraverso il comando | ||
+ | |||
+ | > ipython --pylab | ||
+ | |||
+ | che fornisce una shell interativa in cui dare i vari comandi da dare all' | ||
+ | python non nasce in ambito scientifico e quindi un suo uso per il nostro scopo di effettuare calcoli scientifici | ||
+ | necessita di caricare estensioni " | ||
+ | questo ci dice: | ||
+ | |||
+ | > man iphthon | ||
+ | ... | ||
+ | --pylab | ||
+ | Pre-load matplotlib and numpy for interactive | ||
+ | default matplotlib backend. | ||
+ | … | ||
+ | |||
+ | ovvero partiremo con l' | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | Altra estensione (ormai di ampio uso) estremamente utile in ambito scientifico è fornita da | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | Queste estensioni ci permetto di usare il linguaggio python per le nostre esigenze di calcolo | ||
+ | scientifico in modo rapido sia in modo iterativo che per realizzare semplici programmi | ||
+ | di trattamento dei dati sperimentali o la generazione delle figure necessarie per la | ||
+ | loro presentazione. | ||
+ | |||
+ | Ad esempio: | ||
+ | |||
+ | $ ipython --pylab | ||
+ | | ||
+ | Python 2.7.4 (default, Apr 19 2013, 18:28:01) | ||
+ | Type " | ||
+ | | ||
+ | IPython 0.13.2 -- An enhanced Interactive Python. | ||
+ | ? -> Introduction and overview of IPython' | ||
+ | %quickref -> Quick reference. | ||
+ | help -> Python' | ||
+ | object? | ||
+ | | ||
+ | Welcome to pylab, a matplotlib-based Python environment [backend: Agg]. | ||
+ | For more information, | ||
+ | | ||
+ | In [1]: from scipy import special, optimize | ||
+ | In [2]: f = lambda x: -special.jv(3, | ||
+ | In [3]: xmin, | ||
+ | In [4]: x = linspace(0, 10, 5000) | ||
+ | In [5]: x | ||
+ | Out[5]: | ||
+ | array([ | ||
+ | | ||
+ | In [6]: plot(x, special.jv(3, | ||
+ | In [7]: savefig(' | ||
+ | In [8]: quit | ||
+ | | ||
+ | $ display plot.png | ||
+ | |||
+ | A questo punto ci siamo fatti un idea delle potenzialità di python per soddisfare | ||
+ | molte delle nostre necessità nel calcolo scientifico. | ||
+ | |||
+ | |||
+ | |||