|
Dimensione: 10658
Commento:
|
Dimensione: 5246
Commento:
|
| Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
| Linea 1: | Linea 1: |
| Python è un linguaggio di programmazione molto versatile e di alto livello. Utilizzato sia per lo scripting che per la realizzazione di programmi completi. E' interpretato, orientato agli oggetti ed estensibile tramite il linguaggio C. | ## page was renamed from LinguaggioPython ## page was renamed from Linguaggio Python #format wiki #language it [[BR]][[Indice()]] |
| Linea 3: | Linea 7: |
| == Introduzione == Python è un linguaggio di programmazione ideato da Guido Von Rossum nel 1991 e derivato da un precedente linguaggio chiamato ABC. E' interpretato e quindi caratterizzato da una grande portabilità su differenti piattaforme (Linux,Windows,Mac.....).[[BR]] Python è estensibile tramite il linguaggio C. Può inoltre appoggiarsi a molte famose librerie scritte in C o C++: gui (wxpython, pygtk...), tool per lo svilippo di giochi (pygame,pysdl...), databases (mysqldb...) ...[[BR]] E' un linguaggio di alto livello ed ha una sintassi molto piacevole e intuitiva (ideale per chi si avvicina alla programmazione!). I programmi scritti in python risultano spesso molto sintetici ed eleganti nella forma (ma ricordiamo che tutto dipende anche dallo stile personale del programmatore! ;-)).[[BR]] E' nativamente un linguaggio orientato agli oggetti ma a differenza di altri linguaggi come il java permette anche uno stile procedurale e/o funzionale.[[BR]] Ideale per realizzare applicazioni velocemnete, è utilizzato per una vasta gamma di scopi: scripting, creazione di programmi completi, estensioni di programmi scritti in C, realizzazione di prototipi di applicazioni che andranno poi riscritte in altri linguaggi |
= Introduzione = |
| Linea 11: | Linea 9: |
| '''Python''' è un linguaggio di programmazione ideato da Guido Von Rossum nel 1991 e derivato da un precedente linguaggio chiamato ABC. È interpretato e quindi eseguibile su ogni piattaforma per la quale ne esista l'interprete (Linux, Windows, Mac, Symbian ...). | |
| Linea 12: | Linea 11: |
| == Risorse == | Python può appoggiarsi a diverse librerie per la creazione di GUI (wxpython, pygtk, pygq...), tool per lo sviluppo di giochi (pygame, pysdl...), per la lettura di file mpeg (pymad), database (mysqldb, ...). |
| Linea 14: | Linea 13: |
| In lingua italiana: | È un linguaggio ad alto livello, ha una sintassi molto piacevole e intuitiva (ideale per chi si avvicina alla programmazione). I programmi scritti in python risultano spesso molto sintetici ed eleganti nella forma (ma ricordiamo che tutto dipende anche dallo stile personale del programmatore! ). |
| Linea 16: | Linea 15: |
| '''Python.it'''[[BR]] http://www.python.it/ [[BR]] Il sito di riferimento per i programmatori python italiani! Qui potete trovare le traduzioni in italiano della documentazione ufficiale nonchè le FAQ sul linguaggio. |
È nativamente un linguaggio orientato agli oggetti ma a differenza di altri linguaggi come il java permette anche uno stile procedurale e/o funzionale. |
| Linea 20: | Linea 17: |
| In lingua inglese: | Ideale per realizzare applicazioni velocemente, è utilizzato per una vasta gamma di scopi: scripting, creazione di programmi completi, estensioni di programmi scritti in C, realizzazione di prototipi di applicazioni che andranno poi riscritte in altri linguaggi. |
| Linea 22: | Linea 19: |
| '''Pyhton.org'''[[BR]] http://www.python.org/ [[BR]] Il sito ufficiale del linguaggio python. Trovate la documentazione in inglese aggiornata all'ultima versione dell'interprete, in più tutte le novità e le iniziative che ruotano intorno a questo linguaggio. |
= Installazione = |
| Linea 26: | Linea 21: |
| Con l'installazione predefinita di '''Ubuntu''' l'interprete python è già presente nel sistema. In caso contrario, è sufficiente installare il pacchetto [apt://python python]. | |
| Linea 27: | Linea 23: |
| == Installazione == | = Verifica Configurazione = |
| Linea 29: | Linea 25: |
| Con l'installazione standard di ubuntu l'interprete python dovrebbe già essere installato sulla vostra macchina, in caso contrario è sufficiente installare il pacchetto python da Synaptic o da riga di comando: | Bene ora non resta che lanciare l'interprete interattivo e fare pratica. |
| Linea 31: | Linea 27: |
| ''sudo apt-get install python'' == Verifica della configurazione == Bene ora non vi reste che lanciare l'interprete interattivo e fare pratica. Aprite una shell e digitate python [INVIO][[BR]] Dovrebbe apparirvi qualcosa tipo questo: {{{ Python 2.4.3 (#2, Apr 27 2006, 14:43:58) [GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> |
Aprire un terminale e digitare:{{{ python |
| Linea 48: | Linea 31: |
| Dovrebbe apparire qualcosa del tipo:{{{ Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> }}} |
|
| Linea 49: | Linea 38: |
| = Semplici comandi = | |
| Linea 50: | Linea 40: |
| Adesso proviamo qualche semplice comando: {{{ |
Una volta avviato l'interprete, imparare ad usarlo:{{{ |
| Linea 63: | Linea 49: |
| L'utilizzo è molto semplice ed intuitivo e la maggior parte dei comandi sono semplici parole provenienti dal vocabolario inglese. | |
| Linea 64: | Linea 51: |
| Usciamo dall'interprete premendo CTRL+D oppure digitando {{{ >>> import sys >>> sys.exit() |
Per indicare i blocchi di codice si usa l'indentazione. Essa in Python non è solo una buona abitudine del programmatore ma è obbligatorio. Per esempio il codice appartenente a un ciclo deve essere indentato:{{{ >>> i=0 >>> while i<10: ... i+=1 ... print "il doppio di", i, " e' ", i*2 ... il doppio di 1 e' 2 il doppio di 2 e' 4 il doppio di 3 e' 6 il doppio di 4 e' 8 il doppio di 5 e' 10 il doppio di 6 e' 12 il doppio di 7 e' 14 il doppio di 8 e' 16 il doppio di 9 e' 18 il doppio di 10 e' 20 >>> |
| Linea 71: | Linea 70: |
| Proviamo a realizzare un piccolo script! Aprite un editor di testo qualsiasi e scrivete: {{{ #!/usr/bin/python print "Hello World!" |
Altrimenti succede questo:{{{ >>> i=0 >>> while i < 10: ... i=i+1 File "<stdin>", line 2 i=i+1 ^ IndentationError: expected an indented block >>> |
| Linea 78: | Linea 81: |
| Salvate in in un file hello.py Adesso aprite una shell e spostatevi nella cartella dove avete salvato il file: {{{ cd cartella_dove_avete_salvato_lo_script |
Uscire dall'interprete premendo '''Ctrl+D''', oppure digitando il seguente comando in una finestra di terminale:{{{ >>> exit() |
| Linea 85: | Linea 85: |
| date i permessi di esecuzione: | Per provare a realizzare un piccolo script procedere come segue: |
| Linea 87: | Linea 87: |
| {{{ chmod a+x hello.py |
* Aprire un [:Ufficio/EditorDiTesto:editor di testo] e inserire le seguenti righe:{{{ #!/usr/bin/python print "Ciao mondo!" |
| Linea 91: | Linea 92: |
| e lanciate lo script: | * Salvare il file come `ciao.py`. * Spostarsi nella cartella contenente il file tramite il comando:{{{ cd }}} * Digitare il seguente comando:{{{ python ciao.py }}} per eseguire lo script. Se non si è sbagliato qualcosa, si dovrebbero leggere le parole «"Ciao mondo!"» stampate a video. |
| Linea 93: | Linea 101: |
| {{{ python hello.py |
* Impostando i permessi di esecuzione sullo script con il comando:{{{ chmod u+x ciao.py |
| Linea 97: | Linea 105: |
| Se non avete sbagliato qualcosa dovreste vedere le parole "Hello World!" stampate a video. | è possibile eseguirlo più semplicemente digitando:{{{ ./ciao.py }}} questo grazie alla prima riga dello script, che serve proprio a richiamare il comando python per noi. = Esempi = Nelle pagine a seguire, sono presenti diversi script esemplificativi a difficoltà crescente: * [:Programmazione/Python/Listati:Listati]: esempi di alcuni programmi scritti in Python a difficoltà crescente. * [:Programmazione/Python/InterfacceGrafiche:Interfacce grafiche]: esempi di alcuni programmi scritti in Python con semplice interfaccia grafica. = Ulteriori risorse = * [http://www.python.it python.it]: Il sito di riferimento per i programmatori python italiani! Qui potete trovare le traduzioni in italiano della documentazione ufficiale nonché le FAQ sul linguaggio. * [http://www.python.org python.org]: Il sito ufficiale del linguaggio python. Trovate la documentazione in inglese aggiornata all'ultima versione dell'interprete, in più tutte le novità e le iniziative che ruotano intorno a questo linguaggio. * [http://www.python.it/doc/Howtothink/Howtothink-html-it/index.htm Pensare da informatico] di Allen B. Downey, Jeffrey Elkner e Chris Meyers. Questa guida è altamente consigliata in quanto è ritenuta la migliore da molti per iniziare con il Python. * [http://www.python.it/doc/AGauld/index.html Imparare a programmare] di Alan Gauld: Due guide sull'uso del linguaggio Python adatte anche a chi in generale non ha esperienza nell'ambito della programmazione. |
| Linea 99: | Linea 126: |
| CategoryComunita Ora che vi abbiamo un po incuriosito vi proponiamo un'altro script a difficoltà crescente # tutto cio che scrivo preceduto dal segno # viene considerato un commento # questo è un commento {{{ #!/usr/bin/python import sys import string import math ''' questa è un area di commento che uso per indicare cosa fa il programa o sorgente o script il programma principale o il main calcola l'area di un triangolo qualsiasi noti i suoi tre lati usiamo la formula di erone formula sqrt p*(p-a)*(p-b)*p(-c) sqrt = radice quadrata, p = (a+b+c)/2 a,b,c lati salvatelo sul disco con il nome che vi propongo Area_triangolo.py o come piu' vi piace ''' a = input('inserisci il primo lato ') print ' primo lato = ',a b = input('inserisci il secondo lato ') print ' secondo lato = ',b c = input('inserisci il terzo lato ') print ' terzo lato = ',c print " ora calcolo l'area di questo triangolo" p = (a+b+c)/2 s = math.sqrt(p*(p-a)*(p-b)*(p-c)) print " l'area del triangolo e' =" ,s }}} [[BR]] Questo semplice programma abortisce se nell'inserire il dato per errore digitiamo un carattere non numerico. E' necessario quindi ricorrrere al controllo del dato immesso. A questo scopo è stato preparato questo altro programmino che Chiamiamo Area_Triangolo2.py {{{ #!/usr/bin/python import sys import math import string i = 0 l=[] while True: a= raw_input('inserisci il '+str(i+1)+' lato ') for j in range(len(a)) : errato = 'F' if a[j] in string.digits: errato = 'F' continue #continua il ciclo for else: errato = 'T' print "hai digitato qualcosa che non è un numero.Riprova" break # termina il ciclo for if errato =='T': continue #continua il ciclo while i +=1 l.append(float(a)) if errato =='F'and i <3: continue # continua il ciclo while per passare al successivo input elif errato =='F' and i >=3: print ' primo lato = ',l[0] print ' secondo lato = ',l[1] print ' terzo lato = ',l[2] p = (l[0]+l[1]+l[2])/2.0 if p > l[0] and p>l[1] and p >l[2]: print " ora calcolo l'area di questo triangolo" break # esce dal ciclo while per fine input else: print "questi lati non appartengono ad un triangolo. Riprova " i =0 l=[] continue # contonua nel ciclo while per ricominciare i nuovi input s = math.sqrt(p*(p-l[0])*(p-l[1])*(p-l[2])) print " l'area del triangolo e' =" ,s print "Fine programma "" }}} [[BR]] Ora supponiamo di dover calcolare l'area di un appezzamento di terreno di svariati ettari e che noi abbiamo scomposto in un numero finito di triangoli; una volta nota l'area supponiamo che debba essere divisa, per volontà testamentarie, in tre parti in funzione dell'età di tre fratelli I cui Nomi sono Angelo,Alberto,Amilcare o com volete voi. [[BR]] Useremo lo stesso programma Area_Triangolo 2 con qualche modifica o aggiunta e che chiameremo Area_Triangolo3:py {{{ #!/usr/bin/python import sys import math import string # fase di input nomi = [] eta= [] lati= [] x= 1 while x <=3: a= raw_input('Inserici nome '+str(x)+' fratello ') #verifichiamo l'input immesso errore = 'F' for i in range(len(a)): if a[i] in string.letters: continue else: if i <= len(a): print "errore nell'immettere il nome .riprova" errore = 'T' break if errore == "T": continue else: # lo rendiamo tutto maiuscolo indipendentemente se lo sia o meno nomi.append(string.upper(a)) print nomi x +=1 #ora prendiamo in input le loro eta x = 0 while x < range(len(nomi)): a= raw_input("inserisci l'eta di "+nomi[x]+' ') for j in range(len(a)) : errato = 'F' if a[j] in string.digits: errato = 'F' continue #continua il ciclo for else: errato = 'T' print "hai digitato qualcosa che non è un numero.Riprova" break # termina il ciclo for if errato =='T': continue #continua il ciclo while x +=1 eta.append(int(a)) if errato =='F'and x <3: continue # continua il ciclo while per passare al successivo input elif errato =='F' and x >=3: print ' Eta di' +nomi[0] +" "+ str( int(eta[0])) print ' Eta di' +nomi[1] +" "+ str( int(eta[1])) print ' Eta di' +nomi[2] +" "+ str( int(eta[2])) break #input dei dati per il calcolo dell'area dell'appezzamento i = 0 l=[] tria = [] while True: a= raw_input('inserisci il '+str(i+1)+' lato ') for j in range(len(a)) : errato = 'F' if a[j] in string.digits: errato = 'F' continue #continua il ciclo for else: errato = 'T' print "hai digitato qualcosa che non è un numero.Riprova" break # termina il ciclo for if errato =='T': continue #continua il ciclo while i +=1 l.append(float(a)) if errato =='F'and i <3: continue # continua il ciclo while per passare al successivo input elif errato =='F' and i >=3: print ' primo lato = ',l[0] print ' secondo lato = ',l[1] print ' terzo lato = ',l[2] p = (l[0]+l[1]+l[2])/2.0 if p > l[0] and p>l[1] and p >l[2]: print " l'area di questo triangolo e' calcolabile" tria.append(l) l=[] si = raw_input(" hai finito di immettere lati dei triangoli ? conferma con S/s ") if si == "S" or si =='s': print "Inizia la fase di calcolo " break # esce dal ciclo while per fine input else: i =0 l=[] continue # continua nel ciclo while per input dati nuovo triangolo else: print "questi lati non appartengono ad un triangolo. Riprova " i =0 l=[] continue # continua nel ciclo while perche dati in input del triangolo errati #fase di calcolo area appezzamento n = len(tria) # il calcolo dell'area verrà ripetuto n volte una per ogni triangolo p = 0 stot = 0 for i,l in enumerate(tria): for j in range( len(l)): print l[j] p = p+l[j] print "semiper. nel "+str(i+1)+ " triangolo = "+ str(p/2.0) p=p/2.0 s = math.sqrt(p*(p-l[0])*(p-l[1])*(p-l[2])) print "area "+str(i+1)+ " triangolo = "+ str(s) stot = stot +s p=0 print "l'area totale dell'appezamento di terreno e di mq " + str(stot) print "ora calcoliamo quanto terreno spetta a ciascuno dei tre fratelli" seta = 0 for i in eta: seta=seta+i areau =(stot/seta) for i in eta: a =areau*i nomi.append(a) for i in range(0,3): print "l'area spettante a " +nomi[i] + " somma mq. "+ str(nomi[i+3]) print' Fine programma ' }}} [[BR]] Questo programma cosi come è realizzato è un po troppo lungo e considerati i numerosi cicli in esso contenuto può farci incorrere in errori. Come possiamo renderlo piu snello e piu facilemnte Governabile?[[BR]] Si Lascia al lettore questo compito facendo presente che ci sono diverse soluzioni che attendiamo come segno tangibile della attenzione che ci avete prestato. |
CategoryProgrammazione |
Introduzione
Python è un linguaggio di programmazione ideato da Guido Von Rossum nel 1991 e derivato da un precedente linguaggio chiamato ABC. È interpretato e quindi eseguibile su ogni piattaforma per la quale ne esista l'interprete (Linux, Windows, Mac, Symbian ...).
Python può appoggiarsi a diverse librerie per la creazione di GUI (wxpython, pygtk, pygq...), tool per lo sviluppo di giochi (pygame, pysdl...), per la lettura di file mpeg (pymad), database (mysqldb, ...).
È un linguaggio ad alto livello, ha una sintassi molto piacevole e intuitiva (ideale per chi si avvicina alla programmazione). I programmi scritti in python risultano spesso molto sintetici ed eleganti nella forma (ma ricordiamo che tutto dipende anche dallo stile personale del programmatore! ).
È nativamente un linguaggio orientato agli oggetti ma a differenza di altri linguaggi come il java permette anche uno stile procedurale e/o funzionale.
Ideale per realizzare applicazioni velocemente, è utilizzato per una vasta gamma di scopi: scripting, creazione di programmi completi, estensioni di programmi scritti in C, realizzazione di prototipi di applicazioni che andranno poi riscritte in altri linguaggi.
Installazione
Con l'installazione predefinita di Ubuntu l'interprete python è già presente nel sistema. In caso contrario, è sufficiente installare il pacchetto [apt://python python].
Verifica Configurazione
Bene ora non resta che lanciare l'interprete interattivo e fare pratica.
Aprire un terminale e digitare:
python
Dovrebbe apparire qualcosa del tipo:
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Semplici comandi
Una volta avviato l'interprete, imparare ad usarlo:
>>> print "Hello World!" Hello World! >>> print 2+3 5 >>> print "2 + 3 = ", 2+3 2 + 3 = 5
L'utilizzo è molto semplice ed intuitivo e la maggior parte dei comandi sono semplici parole provenienti dal vocabolario inglese.
Per indicare i blocchi di codice si usa l'indentazione. Essa in Python non è solo una buona abitudine del programmatore ma è obbligatorio. Per esempio il codice appartenente a un ciclo deve essere indentato:
>>> i=0 >>> while i<10: ... i+=1 ... print "il doppio di", i, " e' ", i*2 ... il doppio di 1 e' 2 il doppio di 2 e' 4 il doppio di 3 e' 6 il doppio di 4 e' 8 il doppio di 5 e' 10 il doppio di 6 e' 12 il doppio di 7 e' 14 il doppio di 8 e' 16 il doppio di 9 e' 18 il doppio di 10 e' 20 >>>
Altrimenti succede questo:
>>> i=0
>>> while i < 10:
... i=i+1
File "<stdin>", line 2
i=i+1
^
IndentationError: expected an indented block
>>>Uscire dall'interprete premendo Ctrl+D, oppure digitando il seguente comando in una finestra di terminale:
>>> exit()
Per provare a realizzare un piccolo script procedere come segue:
Aprire un [:Ufficio/EditorDiTesto:editor di testo] e inserire le seguenti righe:
print "Ciao mondo!"
Salvare il file come ciao.py.
Spostarsi nella cartella contenente il file tramite il comando:
cd
Digitare il seguente comando:
python ciao.py
per eseguire lo script. Se non si è sbagliato qualcosa, si dovrebbero leggere le parole «"Ciao mondo!"» stampate a video.Impostando i permessi di esecuzione sullo script con il comando:
chmod u+x ciao.py
è possibile eseguirlo più semplicemente digitando:
./ciao.py
questo grazie alla prima riga dello script, che serve proprio a richiamare il comando python per noi.
Esempi
Nelle pagine a seguire, sono presenti diversi script esemplificativi a difficoltà crescente:
[:Programmazione/Python/Listati:Listati]: esempi di alcuni programmi scritti in Python a difficoltà crescente.
[:Programmazione/Python/InterfacceGrafiche:Interfacce grafiche]: esempi di alcuni programmi scritti in Python con semplice interfaccia grafica.
Ulteriori risorse
[http://www.python.it python.it]: Il sito di riferimento per i programmatori python italiani! Qui potete trovare le traduzioni in italiano della documentazione ufficiale nonché le FAQ sul linguaggio.
[http://www.python.org python.org]: Il sito ufficiale del linguaggio python. Trovate la documentazione in inglese aggiornata all'ultima versione dell'interprete, in più tutte le novità e le iniziative che ruotano intorno a questo linguaggio.
[http://www.python.it/doc/Howtothink/Howtothink-html-it/index.htm Pensare da informatico] di Allen B. Downey, Jeffrey Elkner e Chris Meyers. Questa guida è altamente consigliata in quanto è ritenuta la migliore da molti per iniziare con il Python.
[http://www.python.it/doc/AGauld/index.html Imparare a programmare] di Alan Gauld: Due guide sull'uso del linguaggio Python adatte anche a chi in generale non ha esperienza nell'ambito della programmazione.
