909
contributi
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
=Introduzione a Python= | =Introduzione a Python= | ||
Perché innanzitutto il nome Python? Questo fu un tributo del suo creatore al suoi comici preferiti, i | 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/ | [http://www.youtube.com/embed/anwy2MPT5RE VIDEO: la nascita dello SPAM] | ||
Come definireste Python? La pagina di | 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: | ||
* 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 16: | ||
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 22: | ||
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= | =Installazione= | ||
Riga 28: | Riga 29: | ||
L'installazione è del tutto banale: | L'installazione è del tutto banale: | ||
<code># aptitude install python3</code> | |||
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. | 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. | ||
Riga 34: | Riga 35: | ||
=Come utilizzare Python= | =Come utilizzare Python= | ||
Se da terminale invocate Python, entrate nella modalità interattiva: | Se da terminale invocate Python, entrate nella modalità interattiva: | ||
<code>$ python3 | |||
Python 3.1.3 (r313:86834, Nov 28 2010, 10:01:07) | Python 3.1.3 (r313:86834, Nov 28 2010, 10:01:07) | ||
GCC 4.4.5 on linux2 | GCC 4.4.5 on linux2 | ||
Type "help", "copyright", "credits" or "license" for more information. | Type "help", "copyright", "credits" or "license" for more information. | ||
>>> | >>> | ||
</code> | |||
Questo è ottimo per eseguire piccoli test e verificare immediatamente il funzionamento di alcuni comandi. | Questo è ottimo per eseguire piccoli test e verificare immediatamente il funzionamento di alcuni comandi. | ||
Digitiamo nel prompt: | Digitiamo nel prompt: | ||
<code>>>> 2+1 | |||
</code> | |||
e osserviamo il risultato. | e osserviamo il risultato. | ||
Proviamo ora: | Proviamo ora: | ||
<code>>>> name = "Pippo" | |||
>>> name | >>> name | ||
</code> | |||
Per chiudere la shell invocare la funzione di uscita | 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 | 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: | Creiamo ora uno script basilare come il seguente e salviamolo come hello.py: | ||
<code>name = input("Come ti chiami? \n > ") | |||
print("Ciao %s, buon inizio corso!" % name) | print("Ciao %s, buon inizio corso!" % name)</code> | ||
Il file appena creato, pur non essendo eseguibile, potrà essere comunque eseguito con il seguente comando: | Il file appena creato, pur non essendo eseguibile, potrà essere comunque eseguito con il seguente comando: | ||
<code>python3 hello.py</code> | |||
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: | 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: | ||
<code>#!/usr/bin/env python3</code> | |||
Nota bene: Python 3 | 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: | Rendiamo quindi lo script eseguibile: | ||
<code>chmod u+x hello.py</code> | |||
ed eseguiamolo: | ed eseguiamolo: | ||
<code>./hello.py | |||
Come ti chiami? | Come ti chiami? | ||
> Riccardo | > Riccardo | ||
Ciao Riccardo, buon inizio corso! | Ciao Riccardo, buon inizio corso!</code> | ||
==Cofigurare Geany== | ==Cofigurare Geany== |
contributi