Accademia:Introduzione a Python: differenze tra le versioni
(Nuova pagina: =Introduzione a Python= Perché innanzitutto il nome Python? Questo fu un tributo del suo creatore al suoi comici preferiti, i [[http://en.wikipedia.org/wiki/Monty_Python|Monty_Python]...) |
|||
(18 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
= | {{Template:Acc_Menu_Python}} | ||
Perché innanzitutto il nome Python? Questo fu un tributo del suo creatore al suoi comici preferiti, i | __TOC__ | ||
== Panoramica == | |||
Perché innanzitutto il nome Python? Questo fu un tributo del suo creatore al suoi comici preferiti, i [http://en.wikipedia.org/wiki/Monty_Python Monty Python]. Prima di iniziare ad entrare nel vivo della lezione ecco un breve intermezzo, "La nascita dello spam": | |||
[ | [http://www.youtube.com/embed/anwy2MPT5RE VIDEO: la nascita dello SPAM] | ||
Come definireste Python? La pagina di [http://it.wikipedia.org/wiki/Python Wikipedia] elenca alcune delle sue peculiarità che meglio lo contraddistinguono e ne spiegano l'enorme successo: | |||
Come definireste Python? La pagina di | |||
* linguaggio di programmazione di altissimo livello | * linguaggio di programmazione di altissimo livello | ||
* linguaggio di programmazione multi-paradigma | * linguaggio di programmazione multi-paradigma | ||
Riga 16: | Riga 17: | ||
Un linguaggio è tanto più "di alto livello" quando più la sintassi è simile al linguaggio umano (e tanto più si allontana dal linguaggio macchina). Python ha una sintassi estremamente semplice, molto simile a "scrivere in inglese". | Un linguaggio è tanto più "di alto livello" quando più la sintassi è simile al linguaggio umano (e tanto più si allontana dal linguaggio macchina). Python ha una sintassi estremamente semplice, molto simile a "scrivere in inglese". | ||
È multi-paradigma. Sebbene in Python, sotto il cofano, tutto sia un oggetto, sia la | È multi-paradigma. Sebbene in Python, sotto il cofano, tutto sia un oggetto, sia la [http://it.wikipedia.org/wiki/Programmazione_strutturata programmazione strutturata] (come in C, in molti dialetti BASIC, in Pascal, ecc.) sia quella [http://it.wikipedia.org/wiki/Programmazione_orientata_agli_oggetti orientata agli oggetti] (come in C++, Java, ecc.) sono del tutto naturali. | ||
Si tratta di un linguaggio polivalente, non specializzato per alcun compito preciso. Il Python può infatti essere utilizzato nei contesti più disparati, per fare sostanzialmente qualsiasi cosa. | Si tratta di un linguaggio polivalente, non specializzato per alcun compito preciso. Il Python può infatti essere utilizzato nei contesti più disparati, per fare sostanzialmente qualsiasi cosa. | ||
Riga 22: | Riga 23: | ||
Multi-piattaforma significa che un programma scritto in Python gira nativamente su tutti i principali sistemi operativi: GNU/Linux, Mac OS, Windows, ecc. Si scrive una sola volta, si esegue ovunque. Essendo sostanzialmente un linguaggio interpretato (anche se tecnicamente non è così), non è necessario neppure fornire gli eseguibili per ciascuna piattaforma: è sufficiente il sorgente, che funziona dappertutto. | Multi-piattaforma significa che un programma scritto in Python gira nativamente su tutti i principali sistemi operativi: GNU/Linux, Mac OS, Windows, ecc. Si scrive una sola volta, si esegue ovunque. Essendo sostanzialmente un linguaggio interpretato (anche se tecnicamente non è così), non è necessario neppure fornire gli eseguibili per ciascuna piattaforma: è sufficiente il sorgente, che funziona dappertutto. | ||
In effetti l'ultimo punto non è del tutto corretto. Il Python viene spesso definito come un | In effetti l'ultimo punto non è del tutto corretto. Il Python viene spesso definito come un [http://it.wikipedia.org/wiki/Interprete_(informatica) linguaggio interpretato]. In realtà ciò non è vero, ma dal punto di vista del programmatore è come se lo fosse. Senza dover trafficare con i compilatori, lo sviluppo e il debug sono molto più semplici e veloci. | ||
== Installazione == | |||
In questo corso useremo come sistema operativo di riferimento Debian Squeeze, che tra poche ore diventerà la nuova versione stabile del nostro sistema operativo preferito. | |||
L'installazione è del tutto banale: | |||
<pre># aptitude install python3</pre> | |||
Si tenga presente che il Python 3 così installato non interferisce minimamente con Python 2.6, che rimane la versione eseguita di default. Si può dunque installare l'interprete che useremo nelle nostre lezioni senza alcuna preoccupazione. | |||
== Come utilizzare Python == | |||
Se da terminale invocate Python, entrate nella modalità interattiva: | |||
<pre>$ python3 | |||
Python 3.1.3 (r313:86834, Nov 28 2010, 10:01:07) | |||
GCC 4.4.5 on linux2 | |||
Type "help", "copyright", "credits" or "license" for more information. | |||
>>> | |||
</pre> | |||
Questo è ottimo per eseguire piccoli test e verificare immediatamente il funzionamento di alcuni comandi. | |||
Digitiamo nel prompt: | |||
<pre>>>> 2+1</pre> | |||
e osserviamo il risultato. | |||
Proviamo ora: | |||
<pre>>>> name = "Pippo" | |||
>>> name | |||
</pre> | |||
Per chiudere la shell invocare la funzione di uscita <tt>exit()</tt> o, più semplicemente, premere ''Ctrl+D''. | |||
Anticipiamo ora un argomento che verrà affrontato in dettaglio più avanti: i //moduli//. I moduli in Python sono file di testo puro contenente codice Python, con estensione ''.py''. Uno [http://it.wikipedia.org/wiki/Script script] in Python sarà dunque un listato raccolto in un file ''.py'', che esegue un compito preciso. | |||
Creiamo ora uno script basilare come il seguente e salviamolo come hello.py: | |||
<pre>name = input("Come ti chiami? \n > ") | |||
print("Ciao %s, buon inizio corso!" % name)</pre> | |||
Il file appena creato, pur non essendo eseguibile, potrà essere comunque eseguito con il seguente comando: | |||
<pre>python3 hello.py</pre> | |||
Per rendere lo script autoeseguibile è necessario, oltre a rendere lo script eseguibile, specificare il programma con il quale eseguirlo. Questo è possibile inserendo alla prima riga dello script, analogamente a quanto si fa ad esempio per Bash, il codice: | |||
<pre>#!/usr/bin/env python3</pre> | |||
Nota bene: Python 3 [http://docs.python.org/py3k/tutorial/interpreter.html#source-code-encoding utilizza di default la codifica UTF-8]. È però buona regola evitare di inserire nei sorgenti caratteri non presenti nella tabella ASCII, come ad esempio le lettere accentate. | |||
Rendiamo quindi lo script eseguibile: | |||
<pre>chmod u+x hello.py</pre> | |||
ed eseguiamolo: | |||
<pre>./hello.py | |||
Come ti chiami? | |||
> Riccardo | |||
Ciao Riccardo, buon inizio corso!</pre> | |||
== Confronto tra python ed altri linguaggi == | |||
Per un confronto tra python e PHP vedere [http://wiki.python.org/moin/PythonVsPhp il wiki di Python]. | |||
[[Categoria:Accademia Python - Lezione 0]] |
Versione attuale delle 12:47, 22 mar 2011
Panoramica
Perché innanzitutto il nome Python? Questo fu un tributo del suo creatore al suoi comici preferiti, i Monty Python. Prima di iniziare ad entrare nel vivo della lezione ecco un breve intermezzo, "La nascita dello spam":
Come definireste Python? La pagina di Wikipedia elenca alcune delle sue peculiarità che meglio lo contraddistinguono e ne spiegano l'enorme successo:
- linguaggio di programmazione di altissimo livello
- linguaggio di programmazione multi-paradigma
- linguaggio polivalente
- linguaggio multi-piattaforma
- linguaggio non compilato
Soffermiamoci un momento sui vari punti.
Un linguaggio è tanto più "di alto livello" quando più la sintassi è simile al linguaggio umano (e tanto più si allontana dal linguaggio macchina). Python ha una sintassi estremamente semplice, molto simile a "scrivere in inglese".
È multi-paradigma. Sebbene in Python, sotto il cofano, tutto sia un oggetto, sia la programmazione strutturata (come in C, in molti dialetti BASIC, in Pascal, ecc.) sia quella orientata agli oggetti (come in C++, Java, ecc.) sono del tutto naturali.
Si tratta di un linguaggio polivalente, non specializzato per alcun compito preciso. Il Python può infatti essere utilizzato nei contesti più disparati, per fare sostanzialmente qualsiasi cosa.
Multi-piattaforma significa che un programma scritto in Python gira nativamente su tutti i principali sistemi operativi: GNU/Linux, Mac OS, Windows, ecc. Si scrive una sola volta, si esegue ovunque. Essendo sostanzialmente un linguaggio interpretato (anche se tecnicamente non è così), non è necessario neppure fornire gli eseguibili per ciascuna piattaforma: è sufficiente il sorgente, che funziona dappertutto.
In effetti l'ultimo punto non è del tutto corretto. Il Python viene spesso definito come un linguaggio interpretato. In realtà ciò non è vero, ma dal punto di vista del programmatore è come se lo fosse. Senza dover trafficare con i compilatori, lo sviluppo e il debug sono molto più semplici e veloci.
Installazione
In questo corso useremo come sistema operativo di riferimento Debian Squeeze, che tra poche ore diventerà la nuova versione stabile del nostro sistema operativo preferito.
L'installazione è del tutto banale:
# aptitude install python3
Si tenga presente che il Python 3 così installato non interferisce minimamente con Python 2.6, che rimane la versione eseguita di default. Si può dunque installare l'interprete che useremo nelle nostre lezioni senza alcuna preoccupazione.
Come utilizzare Python
Se da terminale invocate Python, entrate nella modalità interattiva:
$ python3 Python 3.1.3 (r313:86834, Nov 28 2010, 10:01:07) GCC 4.4.5 on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Questo è ottimo per eseguire piccoli test e verificare immediatamente il funzionamento di alcuni comandi.
Digitiamo nel prompt:
>>> 2+1
e osserviamo il risultato.
Proviamo ora:
>>> name = "Pippo" >>> name
Per chiudere la shell invocare la funzione di uscita exit() o, più semplicemente, premere Ctrl+D.
Anticipiamo ora un argomento che verrà affrontato in dettaglio più avanti: i //moduli//. I moduli in Python sono file di testo puro contenente codice Python, con estensione .py. Uno script in Python sarà dunque un listato raccolto in un file .py, che esegue un compito preciso.
Creiamo ora uno script basilare come il seguente e salviamolo come hello.py:
name = input("Come ti chiami? \n > ") print("Ciao %s, buon inizio corso!" % name)
Il file appena creato, pur non essendo eseguibile, potrà essere comunque eseguito con il seguente comando:
python3 hello.py
Per rendere lo script autoeseguibile è necessario, oltre a rendere lo script eseguibile, specificare il programma con il quale eseguirlo. Questo è possibile inserendo alla prima riga dello script, analogamente a quanto si fa ad esempio per Bash, il codice:
#!/usr/bin/env python3
Nota bene: Python 3 utilizza di default la codifica UTF-8. È però buona regola evitare di inserire nei sorgenti caratteri non presenti nella tabella ASCII, come ad esempio le lettere accentate.
Rendiamo quindi lo script eseguibile:
chmod u+x hello.py
ed eseguiamolo:
./hello.py Come ti chiami? > Riccardo Ciao Riccardo, buon inizio corso!
Confronto tra python ed altri linguaggi
Per un confronto tra python e PHP vedere il wiki di Python.