Python versione Bignami - Le stringhe
Stringhe
- Con singoli apici:
'ciao!'
- Con doppi apici:
"ciao!"
- Sequenze di escape: "Digita il comando \"ls\""
- Da altri tipi di valori: str(1234), str(12.34), str(12.3+1j)
- Stringhe multilinea si fanno con tre apici (singoli o doppi):
poesia = '''
S'i fosse cane, abbaio
S'i fosse gatto, miao
S'i fosse tardi, ciao
'''
- Sequenze di escape piú comuni all'interno della stringa:
"\'" # Apice
"\"" # Doppio apice
"\\" # Backslash
"\n" # Andata a capo
"\t" # Tabulazione
- Costante stringa senza interpretazione degli escape:
r"Backslash: '\'"
Operazioni
- Concatenazione:
z = x + y
("Enrico" + " " + "Zini"
= "Enrico Zini") - Ripetizione:
z = x * y
("-" * 10
="----------"
)
Una stringa in python non può essere modificata.
Una stringa in python è una sequenza di caratteri:
a = "Ciao a tutti"
a[0] -> "C"
a[0:4] -> "Ciao"
a[-5:] -> "tutti"
for i in a:
# Itera uno per uno i caratteri in a
Metodi
Test sul contenuto
s.isalnum()
dàTrue
ses
contiene solo numeri e letteres.isalpha()
dàTrue
ses
contiene solo letteres.isdigit()
dàTrue
ses
contiene solo numeris.isspace()
dàTrue
ses
contiene solo spazis.islower()
dàTrue
ses
contiene solo lettere minuscoles.isupper()
dàTrue
ses
contiene solo lettere maiuscoles.endswith( "arrivederci." )
dàTrue
ses
finisce con"arrivederci."
s.startswith( "Buongiorno," )
dàTrue
ses
parte con"Buongiorno,"
Ricerche sul contenuto
s.count( substr )
conta quante volte è presente la sottostringas.find( substr )
trova a che posizione è presente la prima sottostringa, o -1 se non c'ès.index( subst )
trova a che posizione è presente la prima sottostringa, o da errore se non c'ès.rfind( subst )
trova a che posizione è presente l'ultima sottostringa, o -1 se non c'ès.rindex( subst )
trova a che posizione è presente l'ultima sottostringa, o da errore se non c'è
Trasformazioni del contenuto
Le stringhe sono immutabili, quindi tutte queste funzioni restituiscono la stringa modificata.
s.swapcase()
trasforma le maiuscole in minuscolo e le minuscole in maiuscolos.upper()
trasforma tutta la stringa in maiuscolos.lower()
trasforma tutta la stringa in minuscolos.title()
cambia tutte le parole mettendo la prima lettera in maiuscolo e le altre in minuscolos.capitalize()
traforma tutta la stringa in minuscolo con la prima lettera maiuscola
Esempio:
>>> a = "Corso di Python"
>>> a.swapcase()
'cORSO DI pYTHON'
>>> a.upper()
'CORSO DI PYTHON'
>>> a.lower()
'corso di python'
>>> a.title()
'Corso Di Python'
>>> a.capitalize()
'Corso di python'
s.center(width)
aggiunge spazi all'inizio e alla fine in modo che la stringa sia centrata e lungawidth
s.ljust(width)
aggiunge spazi in fondo alla stringa finché non è lungawidth
s.rjust(width)
aggiunge spazi a sinistra della stringa finché non è lungawidth
Esempio:
>>> a.ljust(40)
'Corso di Python '
>>> a.rjust(40)
' Corso di Python'
>>> a.center(40)
' Corso di Python '
s.strip()
toglie gli spazi all'inizio e alla fine della stringas.lstrip( chars )
toglie gli spazi all'inizio della stringa-
s.rstrip( chars )
toglie gli spazi alla fine della stringaa = " Corso di Python " a.rstrip() ' Corso di Python' a.lstrip() 'Corso di Python ' a.strip() 'Corso di Python'
Conversione in lista
s.split(sep)
divide una stringa dove c'è un separatores.join(lista di stringhe)
concatena gli elementi di una lista usando la stringa come separatore
Esempio:
>>> a = "1, 2, 3, 4"
>>> a.split(", ")
['1', '2', '3', '4']
>>> list = a.split(", ")
>>> ":".join(list)
'1:2:3:4'
Formattazione
s % (val1, val2...)
usas
come una stringa di printf e la formatta usando i parametrival1, val2...
Esempio:
>>> "Risultato della %s: %.4f" % ("divisione", 3./4.)
'Risultato della divisione: 0.7500'