1
Laboratorio di Elementi di Bioinformatica
Laurea Triennale in Informatica
(codice: E3101Q116)
AA 2017/2018 Linguaggio Python:
introduzione
Docente: Raffaella Rizzi
Introduzione a Python
Un codice in linguaggio Python deve essere contenuto in un file di puro testo che ha estensione py. Per eseguirlo basta digitare dalla shell:
python script_file
Introduzione a Python
Un codice in linguaggio Python deve essere contenuto in un file di puro testo che ha estensione py. Per eseguirlo basta digitare dalla shell:
python script_file
Se lo si vuole lanciare come: ./script_file Allora si deve aggiungere all’inizio dello script la direttiva #!/usr/bin/python
La funzione printprint(arg)
Cosa fa print?
Produce in standard output l’argomento e stampa un carattere di newline alla fine
La funzione printprint(arg)
Cosa fa print?
Produce in standard output l’argomento e stampa un carattere di newline alla fine
print(“Ciao mondo!”)
Ciao mondo!-
La funzione printprint(arg)
Cosa fa print?
Produce in standard output l’argomento e stampa un carattere di newline alla fine
print(“Ciao mondo!”+”Hello world!”)
Ciao mondo!Hello world!-
La funzione print
print(1+3)
4-
print(arg)
Cosa fa print?
Produce in standard output l’argomento e stampa un carattere di newline alla fine
Le “cose” da sapere su Python
q Python è un linguaggio orientato agli oggetti e tutto ciò che viene manipolato o restituito è un (riferimento a) oggetto. Quindi:
q il “contenuto” di una variabile è sempre un riferimento a un oggetto
Le “cose” da sapere su Python
q Python è un linguaggio orientato agli oggetti e tutto ciò che viene manipolato o restituito è un (riferimento a) oggetto. Quindi:
q il “contenuto” di una variabile è sempre un riferimento a un oggetto
q Tutto è considerato vero tranne il valore intero 0 e il valore decimale 0.0 (la stringa “0” è considerata un valore vero)
Le “cose” da sapere su Python
q Python è un linguaggio orientato agli oggetti e tutto ciò che viene manipolato o restituito è un (riferimento a) oggetto. Quindi:
q il “contenuto” di una variabile è sempre un riferimento a un oggetto
q Tutto è considerato vero tranne il valore intero 0 e il valore decimale 0.0 (la stringa “0” è considerata un valore vero)
q I commenti iniziano con il simbolo # e terminano alla fine della riga
Le “cose” da sapere su Python
q Python è un linguaggio orientato agli oggetti e tutto ciò che viene manipolato o restituito è un (riferimento a) oggetto. Quindi:
q il “contenuto” di una variabile è sempre un riferimento a un oggetto
q Tutto è considerato vero tranne il valore intero 0 e il valore decimale 0.0 (la stringa “0” è considerata un valore vero)
q I commenti iniziano con il simbolo # e terminano alla fine della riga
q Il simbolo ; alla fine di un’istruzione è opzionale
Le “cose” da sapere su Python
q Le variabili non vengono dichiarate e incominciano a esistere nel momento in cui si assegna loro un valore
Le “cose” da sapere su Python
q Le variabili non vengono dichiarate e incominciano a esistere nel momento in cui si assegna loro un valore
q Le variabili non sono tipizzate e il loro tipo viene determinato automaticamente nel momento in cui il valore viene assegnato
Le “cose” da sapere su Python
q Le variabili non vengono dichiarate e incominciano a esistere nel momento in cui si assegna loro un valore
q Le variabili non sono tipizzate e il loro tipo viene determinato automaticamente nel momento in cui il valore viene assegnato
a = 1245print(a)
1245-
Le “cose” da sapere su Python
q Le parentesi tonde che racchiudono i parametri attuali di un metodo/funzione sono opzionali (tranne quando servono per disambiguare invocazioni annidate)
Le “cose” da sapere su Python
q Le parentesi tonde che racchiudono i parametri attuali di un metodo/funzione sono opzionali (tranne quando servono per disambiguare invocazioni annidate)
q Attenzione alle indentazioni!
x = 10 y = 11
Non funziona!!
Le “cose” da sapere su Python
q Le parentesi tonde che racchiudono i parametri attuali di un metodo/funzione sono opzionali (tranne quando servono per disambiguare invocazioni annidate)
q Attenzione alle indentazioni! q I nomi di variabile possono contenere solo cifre, lettere e il
simbolo _. Non possono iniziare con una cifra e in genere sono in minuscolo
Le “cose” da sapere su Python
q Le parentesi tonde che racchiudono i parametri attuali di un metodo/funzione sono opzionali (tranne quando servono per disambiguare invocazioni annidate)
q Attenzione alle indentazioni! q I nomi di variabile possono contenere solo cifre, lettere e il
simbolo _. Non possono iniziare con una cifra e in genere sono in minuscolo
q Python è case sensitive
I tipi standardq Valori booleani à oggetti di tipo bool
q True e False
b = Trueprint(b)
True-
I tipi standardq Numeri interi à oggetti di tipo int
i = 1301print(i)
1301-
I tipi standardq Numeri interi à oggetti di tipo int
i = -1301print(i)
-1301-
I tipi standardq Numeri decimali à oggetti di tipo float
f = 1301.15print(f)
1301.15-
I tipi standardq Numeri decimali à oggetti di tipo float
f = -1301.15print(f)
-1301.15-
I tipi standardq Numeri decimali à oggetti di tipo float
f = 1301.15print(f)
1301.15-
I tipi standardq Stringhe à oggetti di tipo str
s = ‘ciao’print(s)
ciao-
Il letterale stringa è una sequenza di simboli racchiusa tra singoli apici ‘
I tipi standardq Stringhe à oggetti di tipo str
… opppure tra doppi apici “
s = “ciao”print(s)
ciao-
Operatori numericiq somma à +q sottrazione à -q moltiplicazione à *q divisione à / (intera se i due operandi sono interi e
decimale se almeno uno dei due operandi è decimale q elevamento a potenza à **q modulo à %
Operatori di confrontoq uguaglianza à ==q diversità à !=q minore di à <q maggiore di à >q minore o uguale a à <=q maggiore o uguale a à >=
Operatori logiciq congiunzione logica à andq disgiunzione logica à orq negazione logica à not
Operatori logiciq congiunzione logica à andq disgiunzione logica à orq negazione logica à not42 and 0 à 042 and False à FalseFalse and 42 à FalseFalse or 42 à 42
La funzione
à Sequenza di istruzioni a cui viene assegnato un nome da invocare nel momento in cui si vuole eseguire la sequenza di istruzioni def <function_name>(<args>): <function_body> #Indentazione di 4 spazi<empty_row> def fun1(x,y): return x+y
print(fun1(5,4))
9-
La funzione
à Una funzione va definita prima di usarla à I parametri di una funzione non sono tipizzati (ad uno stesso
parametro possono essere passati valori di tipo diverso in due diverse chiamate)
à I parametri e le variabili all’interno del corpo di istruzioni sono locali alla funzione
à Una funzione che non ha un’istruzione return ritorna il valore None di tipo NoneType
def fun1(x,y): x+y
print(fun1(5,4))
None-
Il modulo
à File contenente definizioni e istruzioni da usare in uno script
import <module_name> import math
print(math.sqrt(25))
5.0-
Argomenti da linea di comando
à Il modulo sys permette di recuperare gli argomenti della linea di comando con cui si lancia uno script attraverso l’array argv
import sys
sys.argv[0] #nome dello scriptsys.argv[1] #primo argomento della linea di comandosys.argv[2] #secondo argomento della linea di comando…
Lettura di un file
with open(file_name,’r’) as input_file: for row in input_file: # do something with row
Lettura di un file
with open(file_name,’r’) as input_file: for row in input_file: # do something with row
with open(file_name,’r’) as input_file: file_rows = input_file.readlines()
# do something with file_rows