914
contributi
Nessun oggetto della modifica |
|||
(17 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/ | [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= | == 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. | 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: | 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. | 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= | == Come utilizzare Python == | ||
Se da terminale invocate Python, entrate nella modalità interattiva: | Se da terminale invocate Python, entrate nella modalità interattiva: | ||
<pre>$ 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. | ||
>>> | >>> | ||
</pre> | |||
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: | ||
<pre>>>> 2+1</pre> | |||
e osserviamo il risultato. | e osserviamo il risultato. | ||
Proviamo ora: | Proviamo ora: | ||
<pre>>>> name = "Pippo" | |||
>>> name | >>> name | ||
</pre> | |||
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: | ||
<pre>name = input("Come ti chiami? \n > ") | |||
print("Ciao %s, buon inizio corso!" % name) | print("Ciao %s, buon inizio corso!" % name)</pre> | ||
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: | ||
<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: | 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 | 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: | ||
<pre>chmod u+x hello.py</pre> | |||
ed eseguiamolo: | ed eseguiamolo: | ||
<pre>./hello.py | |||
Come ti chiami? | Come ti chiami? | ||
> Riccardo | > Riccardo | ||
Ciao Riccardo, buon inizio corso! | 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]] |
contributi