...

Usare Python in Linux - Università di Bologna

by user

on
Category: Documents
19

views

Report

Comments

Transcript

Usare Python in Linux - Università di Bologna
Linux
Python
Usare Python in Linux
Introduzione
Giulio Pellitta
Università di Bologna
24 febbraio 2012
Giulio Pellitta
Usare Python in Linux
Linux
Python
Outline
1
Linux
Introduzione
Mini tutorial
2
Python
Introduzione
Iniziamo a programmare
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Outline
1
Linux
Introduzione
Mini tutorial
2
Python
Introduzione
Iniziamo a programmare
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Cos’è Linux?
Un sistema operativo Open Source;
uno dei sistemi operativi dominanti in ambito server, ma
utilizzabile su desktop, notebook, netbook, . . .
l’utente può utilizzare il sistema da riga di comando o tramite
interfaccia grafica;
applicazioni varie (OpenOffice/LibreOffice, Mozilla Firefox, . . . );
ottimo supporto per LATEX e linguaggi di programmazione;
tantissime distribuzioni diverse, adatte alle più svariate esigenze.
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Distribuzioni
Diverse versioni di Linux (costruite intorno al kernel di Linux), sia
commerciali che non-commerciali
Debian
Ubuntu
Red Hat
Fedora
...
Alcune distribuzioni sono più adatte a notebooks o computer
meno potenti
derivate di Ubuntu (Xubuntu, Lubuntu)
derivate di Debian (CrunchBang)
Slitaz
...
Alcune sono fatte per avviarsi da CD o da una chiave USB
Slitaz
Knoppix
...
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Se ho Windows?
Q: Sul mio computer è installato Windows. Posso
installare Linux senza dover fare il backup dei dati e
partizionare il disco?
A: Sì.
Q: Come?
A1: Usare Wubi (Windows Ubuntu installer);
A2: usare una versione che si avvia da CD o chiave USB.
A3: Non è necessario installare Linux per usare Python.
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Se ho Windows?
Q: Sul mio computer è installato Windows. Posso
installare Linux senza dover fare il backup dei dati e
partizionare il disco?
A: Sì.
Q: Come?
A1: Usare Wubi (Windows Ubuntu installer);
A2: usare una versione che si avvia da CD o chiave USB.
A3: Non è necessario installare Linux per usare Python.
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Se ho Windows?
Q: Sul mio computer è installato Windows. Posso
installare Linux senza dover fare il backup dei dati e
partizionare il disco?
A: Sì.
Q: Come?
A1: Usare Wubi (Windows Ubuntu installer);
A2: usare una versione che si avvia da CD o chiave USB.
A3: Non è necessario installare Linux per usare Python.
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Se ho Windows?
Q: Sul mio computer è installato Windows. Posso
installare Linux senza dover fare il backup dei dati e
partizionare il disco?
A: Sì.
Q: Come?
A1: Usare Wubi (Windows Ubuntu installer);
A2: usare una versione che si avvia da CD o chiave USB.
A3: Non è necessario installare Linux per usare Python.
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Se ho Windows?
Q: Sul mio computer è installato Windows. Posso
installare Linux senza dover fare il backup dei dati e
partizionare il disco?
A: Sì.
Q: Come?
A1: Usare Wubi (Windows Ubuntu installer);
A2: usare una versione che si avvia da CD o chiave USB.
A3: Non è necessario installare Linux per usare Python.
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Outline
1
Linux
Introduzione
Mini tutorial
2
Python
Introduzione
Iniziamo a programmare
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Come usare Linux da riga di comando
Fondamentali
shell La shell/terminale è la finestra dove si inseriscono i
comandi di Linux.
prompt La scritta username@computername:pathname$ (o
simili) nella shell indica che essa è pronta ad accettare
comandi.
apropos Se devo fare un’operazione ma non so il nome del
comando (provare apropos directory).
man Se devo sapere come funziona un comando (provare
man apropos).
ls Elenca i file in una directory.
mkdir Crea una directory.
cd Cambia la directory corrente.
. Per indicare la directory corrente.
.. Per riferirsi ad una directory da una sua sotto-directory.
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Come usare Linux da riga di comando
Fondamentali
shell La shell/terminale è la finestra dove si inseriscono i
comandi di Linux.
prompt La scritta username@computername:pathname$ (o
simili) nella shell indica che essa è pronta ad accettare
comandi.
apropos Se devo fare un’operazione ma non so il nome del
comando (provare apropos directory).
man Se devo sapere come funziona un comando (provare
man apropos).
ls Elenca i file in una directory.
mkdir Crea una directory.
cd Cambia la directory corrente.
. Per indicare la directory corrente.
.. Per riferirsi ad una directory da una sua sotto-directory.
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Gestire file di testo
cat Visualizza il contenuto di un file.
more Visualizza il contenuto di un file una schermata per
volta.
grep Stampa a video le righe di un file che contengono una
certa espressione.
nl Stampa a video un file e numera le righe.
Editor di testo grafici e testuali.
Emacs
Kwrite
Kate
nano
pico
...
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Redirezionamenti e pipe
echo Stampa una stringa sullo standard output.
echo Hello World!
echo $PATH
| L’operatore pipe concatena standard output e standard
input di due programmi.
ls|more
cat mylist.txt | grep foo
ls *.txt|nl
> Manda lo standard output di un programma su un
dispositivo o file.
cat file1.txt > file2.txt
cat file1.txt file2.txt > file3.txt
>> Manda in append lo standard output di un programma
su un dispositivo o file.
ls -a >> filelist.txt
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Che altro c’è da sapere?
Molto!
chmod
mount
locate
...
Per cominciare è più che abbastanza.
→
−
− (Tab): autocompletamento comandi o nomi file da shell
−
−
→
→
−
− → $more
$mo+ −
−
→
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Che altro c’è da sapere?
Molto!
chmod
mount
locate
...
Per cominciare è più che abbastanza.
→
−
− (Tab): autocompletamento comandi o nomi file da shell
−
−
→
→
−
− → $more
$mo+ −
−
→
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Che altro c’è da sapere?
Molto!
chmod
mount
locate
...
Per cominciare è più che abbastanza.
→
−
− (Tab): autocompletamento comandi o nomi file da shell
−
−
→
→
−
− → $more
$mo+ −
−
→
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Mini tutorial
Che altro c’è da sapere?
Molto!
chmod
mount
locate
...
Per cominciare è più che abbastanza.
→
−
− (Tab): autocompletamento comandi o nomi file da shell
−
−
→
→
−
− → $more
$mo+ −
−
→
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Outline
1
Linux
Introduzione
Mini tutorial
2
Python
Introduzione
Iniziamo a programmare
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Cos’è Python?
Linguaggio di programmazione general purpose disponibile per:
Windows
Mac
Linux
Multi-paradigma, ma non faremo programmazione ad oggetti.
Quale versione?
python -V per conoscere la versione installata (Linux).
Sulle macchine in laboratorio è installata la versione 2.6.6.
Se avete una versione di Python tra la 2.6 e la 2.7 va bene.
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Cos’è Python?
Linguaggio di programmazione general purpose disponibile per:
Windows
Mac
Linux
Multi-paradigma, ma non faremo programmazione ad oggetti.
Quale versione?
python -V per conoscere la versione installata (Linux).
Sulle macchine in laboratorio è installata la versione 2.6.6.
Se avete una versione di Python tra la 2.6 e la 2.7 va bene.
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Come utilizzare Python?
Python può essere usato in modalità interattiva
si lancia da terminale (python)
si scrive un comando per volta (un po’ come su una calcolatrice)
potete inserire un comando quando vedete il prompt di Python
>>>, chiamato “chevron”
per tornare al terminale scrivete exit()
Si possono scrivere i comandi in un file di testo (sorgente/script)
si passa come argomento a python (python prog.py)
i comandi vengono eseguiti in sequenza
comodo per programmi più lunghi e/o da eseguire più volte
Si può utilizzare un’interfaccia grafica (IDE)
automatizza alcune operazioni, di per sé non aiuta a programmare
su Linux IDLE 2.6
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Outline
1
Linux
Introduzione
Mini tutorial
2
Python
Introduzione
Iniziamo a programmare
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Aritmetica elementare
Cominciamo facendo qualche operazione aritmetica usando
Python in modalità interattiva.
1+1 (= 2)
2*3 (= 6)
2.5-1.25 (= 1.25)
5%2 (= 1)
2**4 (= 8)
Finora non sembra esserci molta differenza con una calcolatrice,
ma. . .
3/2 (= 1)
3./2 (= 1.5)
Due operazioni di divisione diverse (tra interi e tra numeri floating
point), ma indicate con lo stesso simbolo / (overloading).
Si può assegnare il valore di un’espressione ad una variabile.
1
2
n=6*7+2
print n (= 44)
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Aritmetica elementare
Cominciamo facendo qualche operazione aritmetica usando
Python in modalità interattiva.
1+1 (= 2)
2*3 (= 6)
2.5-1.25 (= 1.25)
5%2 (= 1)
2**4 (= 8)
Finora non sembra esserci molta differenza con una calcolatrice,
ma. . .
3/2 (= 1)
3./2 (= 1.5)
Due operazioni di divisione diverse (tra interi e tra numeri floating
point), ma indicate con lo stesso simbolo / (overloading).
Si può assegnare il valore di un’espressione ad una variabile.
1
2
n=6*7+2
print n (= 44)
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Stringhe e booleani; stampa a video e commenti
print ’Hello World!’ (= Hello World!)
print "HelloWorld!" (= Hello World!)
True==False (= False)
’Hello’!=’Bye’ (= True)
Possiamo avere variabili anche per stringhe e booleani, oltre che
per numeri.
Per stampare più cose
print(’n=’,n) (= n = 44)
print(’n=’+str(n)) (= n = 44)
# Per inserire righe di commento nel codice
# La riga sotto fa questa operazione
# Controllare il manuale
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Stringhe e booleani; stampa a video e commenti
print ’Hello World!’ (= Hello World!)
print "HelloWorld!" (= Hello World!)
True==False (= False)
’Hello’!=’Bye’ (= True)
Possiamo avere variabili anche per stringhe e booleani, oltre che
per numeri.
Per stampare più cose
print(’n=’,n) (= n = 44)
print(’n=’+str(n)) (= n = 44)
# Per inserire righe di commento nel codice
# La riga sotto fa questa operazione
# Controllare il manuale
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Stringhe e booleani; stampa a video e commenti
print ’Hello World!’ (= Hello World!)
print "HelloWorld!" (= Hello World!)
True==False (= False)
’Hello’!=’Bye’ (= True)
Possiamo avere variabili anche per stringhe e booleani, oltre che
per numeri.
Per stampare più cose
print(’n=’,n) (= n = 44)
print(’n=’+str(n)) (= n = 44)
# Per inserire righe di commento nel codice
# La riga sotto fa questa operazione
# Controllare il manuale
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Tipaggio dinamico
Una variabile non ha un tipo di dato statico assegnato, può rifersi a
dati di tipo diverso in momenti diversi.
1
n=2
2
n=’stringa’
Comando type per sapere il tipo di un’espressione.
3
type(n) (= <type ’int’>)
4
type(1+1) (= <type ’int’>)
Convertire da un tipo di dato ad un altro
5
n=’23’
6
n=int(n)
Occhio all’overloading
7
’2’+’3’ (= 23)
8
’2’+’n’ (= 2n)
9
2+n (= 25)
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Fine
Domande? Potete scrivermi a [email protected].
Giulio Pellitta
Usare Python in Linux
Linux
Python
Introduzione
Iniziamo a programmare
Fine
Domande? Potete scrivermi a [email protected].
Giulio Pellitta
Usare Python in Linux
Fly UP