03python ASIDBMS 1
03python ASIDBMS 1
https://www.tutorialspoint.com/python3/python_strings.htm
2
Sistemi informativi e DBMS
Manipolazione stringhe
Split è un metodo che divide una stringa in più “parole”. Se utilizzato
senza argomenti, il metodo divide la stringa in base alla posizione degli
spazi.
3
Sistemi informativi e DBMS
Manipolazione stringhe
I metodi count e find di una stringa prendono ingresso un’altra
stringa e valutano se questa è una sua sottostringa.
4
Sistemi informativi e DBMS
Manipolazione stringhe
I metodi upper e lower consentono di portare tutte le
lettere allo stesso “case” (o tutte maiuscole o tutte
minuscole). È utile quando voglio esaminare il contenuto
della stringa a prescindere dal case.
Esempio:
>>> a.upper()
'CIAO, SONO ANDREA'
>>> a.lower()
'ciao, sono andrea'
5
Sistemi informativi e DBMS
Manipolazione stringhe
Il metodo lstrip non ha argomenti e restituisce la stringa
rimuovendo tutti i caratteri di spazio che precedono il
primo carattere diverso dallo spazio.
Esempio:
>>> unaStringa = ' ciao'
>>> b = unaStringa.lstrip()
>>> print(b)
ciao
6
Sistemi informativi e DBMS
Funzioni e procedure
Nei linguaggi di programmazione una funzione o una
procedura sono entrambe una sequenza di istruzioni
ideata per eseguire una specifica elaborazione per la
quale si definisce un nome.
7
Sistemi informativi e DBMS
Funzioni e procedure
Tutte le funzioni e procedure che abbiamo visto fino
ad ora sono predefinite in python. In genere, le
funzioni predefinite del linguaggio si chiamano funzoni
di built-in.
La documentazione Python fornisce la lista e la
descrizione delle funzioni di built-in.
https://docs.python.org/3/library/functions.html
mioRisultato = max(1, 2, 3)
9
Sistemi informativi e DBMS
Funzioni e procedure
Una procedura è una sequenza di istruzioni che può
prendere in ingresso una lista di argomenti e NON produce
un risultato da ritornare.
risultato = print('ciao')
10
Sistemi informativi e DBMS
Definizione
Con Python funzioni e procedure si creano allo stesso
modo, tramite la dichiarazione. Vogliamo ora dichiarare una
nuova funzione. Sintassi:
Esempio:
def stampaSomma(valore1, valore2):
print(valore1+valore2)
def nomeFunzione(parametri):
istruzioni
return espressione
13
Sistemi informativi e DBMS
Definizione di funzioni
Esempio: creo la funzione inverti che restituisce il valore passato
come argomento cambiato di segno.
def inverti(mioNum):
return -mioNum
Esempio d’uso:
14
Sistemi informativi e DBMS
Definizione di funzioni
Le espressioni possono essere lunghe a piacere, purché scritte
rispettando le regole del linguaggio. Lo stile di programmazione
è una scelta del programmatore. Da esso dipende la leggibilità
del codice. (Zen Python)
Esempio di poca leggibilità:
16
Sistemi informativi e DBMS
Definizione di funzioni
Valori di default.
Posso dichiarare una funzione aggiungendo un valore pre-
impostato (o valore di default) ai vari parametri.
Esempio:
def stampaCoordinate(x=0,y=0,z=0):
print("x,y,z = ",x,y,z)
17
Sistemi informativi e DBMS
Definizione di funzioni
Esempio:
stampaCoordinate()
x,y,z = 0 0 0
stampaCoordinate(11) #Il parametro x prende 11
x,y,z = 11 0 0
18
Sistemi informativi e DBMS
Spazio dei nomi
I nomi di variabile definiti all’interno di una funzione
sono detti variabili locali e non esistono al di fuori
della funzione.
19
Sistemi informativi e DBMS
Spazio dei nomi
Esempio: creo una variabile globale a con valore 10. Dentro la
funzione creo la variabile locale b con valore 15 .
a = 10
def miaProcedura():
b = 15 #Variabile LOCALE
print(a+b)
miaProcedura()
print(b)
Il programma stamperà a video il valore 25 ma poi darà errore
perché non trova la variabile b.
20
Sistemi informativi e DBMS
Spazio dei nomi
Esempio: provo a modificare la variabile globale all’interno della
funzione.
a = 10
def miaProcedura():
a = 11
print(a)
miaProcedura()
21
Sistemi informativi e DBMS
Spazio dei nomi: global
Tramite la parola chiave global impongo all’interprete di elaborare
come globale la variabile dentro la funzione.
a = 10
def miaProcedura():
global a
a = 11
print(a)
miaProcedura()
print(a)
22
Sistemi informativi e DBMS
Spazio dei nomi: global
Con global posso creare variabili globali all’interno delle funzioni.
def miaProcedura():
global a
a = 11
Sintassi
import nomeModulo
#Ora posso chiamare una funzione del modulo:
mioModulo.nomefunzione()
25
Sistemi informativi e DBMS
Import di Moduli
Quando l’interprete raggiunge l’istruzione import, eseguirà il
contenuto del file importato.
Sintassi
from nomeModulo import nomefunzione
# Ora posso usare la funzione importata senza
specificare il modulo
nomefunzione()
26
Sistemi informativi e DBMS
Import di MODULI
Esempio: creiamo due file python:
mioModulo.py prog1.py
def fun1(): def saluto():
print("Hello") print("Ciao")
def fun1():
print("Hello")
def fun2():
print("prova")
fun1()
a=10
28
Sistemi informativi e DBMS
Blocco di codice Main
Si può definire una parte del codice che non dovrà essere
eseguita a seguito dell’import.
if __name__ == '__main__':
#istruzioni da non eseguire se importato
29
Sistemi informativi e DBMS
Blocco di codice Main
Esempio: riscriviamo il codice di mioModulo.py utilizando il
blocco main
def fun1():
print("Hello")
def fun2():
print("prova")
if __name__ == '__main__':
fun1()
a=10
33
Sistemi informativi e DBMS