Usare Python in Linux - Introduzionezuppirol/lez12013.pdf · Cos’è Linux? È un S.O.Open Source...
Transcript of Usare Python in Linux - Introduzionezuppirol/lez12013.pdf · Cos’è Linux? È un S.O.Open Source...
LaboratorioSistema Operativo
Python
Usare Python in LinuxIntroduzione
28 Febbraio 2014
Usare Python in Linux
LaboratorioSistema Operativo
Python
Outline
1 LaboratorioStruttura e programma delle lezioni
2 Sistema OperativoDefinizioneMini tutorial
3 PythonIntroduzioneProgrammazione
Usare Python in Linux
LaboratorioSistema Operativo
PythonStruttura e programma delle lezioni
Outline
1 LaboratorioStruttura e programma delle lezioni
2 Sistema OperativoDefinizioneMini tutorial
3 PythonIntroduzioneProgrammazione
Usare Python in Linux
LaboratorioSistema Operativo
PythonStruttura e programma delle lezioni
Lezione tipo
Correzione degli esercizi svolti autonomamente e consegnatiall’indirizzo di posta elettronica: [email protected] rassegna di alcuni concetti spiegati a lezioneAssegnazione di esercizi da svolgere in laboratorio/aulaAssegnazione di esercizi da svolgere autonomamente
Usare Python in Linux
LaboratorioSistema Operativo
PythonStruttura e programma delle lezioni
Progetto
IndividualeConsegna delle specifiche di progetto circa a metà aprileValutazione:
insufficiente → si deve ripresentare il progetto a una data diconsegna successiva, ma il voto terrà conto della prima consegnasufficiente → si assegna un valore compreso tra 0 e 5 da sommareal voto dello scritto
Usare Python in Linux
LaboratorioSistema Operativo
PythonStruttura e programma delle lezioni
Programma delle lezioni di Laboratorio
Introduzione a Linux e Python primi costruttiComando di condizione, comando di input, iterazioneincondizionata: concetti, esempi ed eserciziSequenze immutabili e iterazione condizionata: concetti, esempied eserciziRicorsione: concetto, esempi ed eserciziConfronto tra le diverse possibili soluzioni di uno stessoproblema: esempi ed eserciziListe: concetti, esempi ed eserciziDizionari: concetti, esempi ed eserciziCode pile ed alberi: concetti, esempi ed eserciziEsercizi in preparazione all’esame
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Outline
1 LaboratorioStruttura e programma delle lezioni
2 Sistema OperativoDefinizioneMini tutorial
3 PythonIntroduzioneProgrammazione
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Sistema Operativo (SO) e interazioni con gli utenti
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Definizione di Sistema Operativo
Un Sistema Operativo (SO) è:un programma che agisce come intermediario tra Utente,Software Applicativo e Hardware.
Obiettivi e compiti:fornire un ambiente nel quale un utente possa eseguireprogrammi in modo conveniente ed efficiente su un determinatohardware;fornire un’interfaccia utente (grafica e non) per poter eseguireapplicazioni;evitare che i programmi in esecuzione contemporanea entrino inconflitto;fornire sevizi ai programmi in esecuzione.
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Il S.O. e il suo linguaggio
Il linguaggio del S.O. è rappresentato da tutti i comandi che possonoessere riconosciuti dall’interprete del S.O. Ogni comando ha:
una sintassi (come devono essere scritti per essere riconosciuti)una semantica (quale operazione sarà effettuata)
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
ComandiI comandi sono specifici dei vari S.O.:
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Cos’è Linux?
È un S.O. Open SourceRicordiamo che i S.O. moderni hanno tra le altre anche le seguentifunzionalità:
presentano un’interfaccia (grafica e a linea di comando) pergestire le richieste dell’utentegestiscono i vari programmi in esecuzionegestiscono le richieste di I/O
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Outline
1 LaboratorioStruttura e programma delle lezioni
2 Sistema OperativoDefinizioneMini tutorial
3 PythonIntroduzioneProgrammazione
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Come usare Linux da riga di comando
shell La shell/terminale è l’interfaccia dell’interprete del SOdove un utente inserisce i comandi che vuole eseguire.
comandi Possiamo suddividerli in:1 Documentali2 Gestionali:
archivifile e directoryprocessistampatesto
3 Operazionali su file di dati4 Informativi:
sullo spazio su discosu di noi e sul sistema
5 Operazionali di ricerca6 Vari
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Documentali
MANsintassi man [section] [option...] NAME.
descrizione man formatta e visualizza le possibili pagine delmanuale che riguardano NAME. NAME può essere: uncomando, una funzione, un file di configurazione. Sesection viene specificata, man cerca ladocumentazione soltanto in quella sezione. La sezioneè la suddivisione in categorie dei comandi
esempio man man→ entra nel manuale del comando man, peruscire dal manuale usare q
APROPOSsintassi apropos NAME.
descrizione apropos da informazioni riguardo la voce NAMEesempio apropos man→ visualizza informazioni sui diversi
manuali presenti
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Gestione file e directory
LSsintassi ls [option...] [NAME_DIRECTORY...] [NAME_FILE...]
descrizione ls lista il contenuto di ogni directory indicata in[NAME_DIRECTORY...] e i file individuati da[NAME_FILE...].
esempi ls→ visualizza tutti i file e le directory presenti nelladirectory corrente
MKDIRsintassi mkdir [option...] NAME_DIRECTORY...
descrizione mkdir crea le directory specificate con(NOME_DIRECTORY...).
esempio mkdir /home/nome.cognome/python→ crea ladirectory python nella nostra home
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Gestione file e directory
RMsintassi rm [option...] [NAME_FILE...]
descrizione rm cancella i file specificati, ma non le directory.esempio rm prova.txt→ rimuove se esiste il file prova.txt
RMDIRsintassi rmdir [option...] NAME_DIRECTORY...
descrizione rkdir cancella le directory specificate con(NOME_DIRECTORY...).
esempio rmdir prova→ rimuove se esiste la directory prova
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Gestione file e directory
CDsintassi cd [DIRECTORY]
descrizione cd entra nella directory specificata. NB. bisognadescrivere il percorso corretto. Se non è fornita alcunadirectory allora entra nella home directory dell’utente.
esempi cd /usr/include→ entra nella directory /usr/includeCP
sintassi cp [option...] FILE_ORIGINE... DIRECTORY || cp[option...] FILE_ORIGINE FILE_DESTINAZIONE
descrizione Copia i file specificati con FILE_ORIGINE nelladirectory DIRECTORY. || Copia il file FILE_ORIGINEnel file FILE_DESTINAZIONE.
esempi cp x.* y.* /home/nome.cognome→ copia x,y nellanostra home || cp prova.* prova2.*→copia il file prova inprova2
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
Lanciare un programma da shell
Per lanciare un programma da shell, indicare il nome del fileeseguibile.
Per esempio apriamo un editor di testo col comandoNANO
nano nomefile.*→ si apre l’editor sul file specificato da nomefile.*’E→ indica la combinazione di tasti Ctrl E
VIMun altro esempio di editor è VIMVIM opera in due modalità:
comando: permette di interagire col programma editor, utilizzandospecifiche combinazioni di tasti che corrispondono ai comandiriconosciuti da VIM; come ad esempio: aprire un file, salvare unfile, uscire, ricercare e sostituire paroleinserimento: permette di scrivere e modificare il testo salvato nelfile.
Usare Python in Linux
LaboratorioSistema Operativo
Python
DefinizioneMini tutorial
VIM
Passaggio da una modalità all’altra:VIM si apre in modalità comando, per cambiare contesto si editail carattere ’i’per tornare alla modalità comando si usa il tasto ’esc’
Comandi principali::r nomefile → per aprire un file
:w → per salvare un file senza uscire:w nomefile → per salvare con nome
:wq → per salvare ed uscire:q → per uscire (solo se non si sono apportate modifiche)
:q! → per uscire senza salvareVIM nomefile.*→ si apre il file nomefile.* con l’editor VIM
Usare Python in Linux
LaboratorioSistema Operativo
Python
IntroduzioneProgrammazione
Outline
1 LaboratorioStruttura e programma delle lezioni
2 Sistema OperativoDefinizioneMini tutorial
3 PythonIntroduzioneProgrammazione
Usare Python in Linux
LaboratorioSistema Operativo
Python
IntroduzioneProgrammazione
Cos’è Python?
È un linguaggio di programmazione:interpretatomulti-piattaformamulti-paradigma.
La versioneUseremo Python 3.* (il libro di testo è riferito a 2.6 o 2.7).
Usare Python in Linux
LaboratorioSistema Operativo
Python
IntroduzioneProgrammazione
Python
Per programmare useremo IDLE (Ambiente di sviluppo integrato diPython) Per mandare in esecuzione il IDLE si devono eseguire leseguenti operazioni da terminale:
accediamo alla directory corretta→ cd /usr/lib/python3.2/idlelibmandiamo in esecuzione il programma digitando→ python3.2idle.pysi apre un editor su cui scriveremo e salveremo i nostri (file)programmi
Usare Python in Linux
LaboratorioSistema Operativo
Python
IntroduzioneProgrammazione
Outline
1 LaboratorioStruttura e programma delle lezioni
2 Sistema OperativoDefinizioneMini tutorial
3 PythonIntroduzioneProgrammazione
Usare Python in Linux
LaboratorioSistema Operativo
Python
IntroduzioneProgrammazione
Comandi
Riprendiamo alcuni comandi:print ('Hello World!') (scrive Hello World!)x=2 (assegna il valore intero 2 alla variabile x)x=x+5 (al valore di x somma 5 e il risultato lo assegna a x)
Ogni operazione definisce un comando specifico a seconda del tipodi dato che si sta usando.
Usare Python in Linux
LaboratorioSistema Operativo
Python
IntroduzioneProgrammazione
Tipo di dato
Semplici:interi (int)→ operazioni tra interinumeri in virgola mobile (float)→ operazioni tra floatnumeri complessi (complex)→ operazioni tra complessivalori booleani (bool)→ operazioni tra booleani
Composto:valori stringa (str)→ operazioni tra stringhe
Usare Python in Linux
LaboratorioSistema Operativo
Python
IntroduzioneProgrammazione
Operazioni su interi, virgola mobile, complessi
Rappresentazioni:interi: M=3float: M=3.0complessi: M=(3+1j)
Operazioni:M+M→ somma (interi, float, complessi)M*M→ prodotto (interi, float, complessi)M/M→ divisione con risultato intero, float, o complessoM%M→ modulo (solo tra interi)M**M→ elevamento a potenza (interi, float, complessi)
Usare Python in Linux
LaboratorioSistema Operativo
Python
IntroduzioneProgrammazione
Operazioni stringhe
Rappresentazioni:M = ’Prova’; N=’casa’
Operazioni:M+N→ concatena la stringa M ed N es. ProvacasaM*3→ concatena 3 volte la stringa contenuta in M es.ProvaProvaProvalen(M)→ restituisce la lunghezza di M es. 5M[0], · · · M[len(M)-1]→ restituisce i singoli caratteri della stringa.es: M[0]→ PM[x:y]→ restituisce una sotto-striga di quella di partenzapartendo dalla posizione x fino alla posizione y-1. es. M[:2] Pr
Usare Python in Linux
LaboratorioSistema Operativo
Python
IntroduzioneProgrammazione
Esercizi
Scrivere uno script che assegnati due valori a x e y stampi ilperimetro e l’area di un rettangoloScrivere uno script che assegnate due stringhe a x e y stampi lastringa formata dalla concatenazione dai primi caratteri delle duestringhe, dai due caratteri nella posizione (len(x)//2) e dagliultimi due. (es. ’casa’, ’piovra’→ ’cpsvaa’)Scrivere uno script che assegnati quattro valori a x1, y1; x2, y2stampi i valori di m e q della retta passante per i due puntiScrivere uno script che assegnata una stringa a x la stampi inordine inverso.
Usare Python in Linux
LaboratorioSistema Operativo
Python
IntroduzioneProgrammazione
Cosa abbiamo fatto?
1 LaboratorioStruttura e programma delle lezioni
2 Sistema OperativoDefinizioneMini tutorial
3 PythonIntroduzioneProgrammazione
Usare Python in Linux