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àTruesescontiene solo numeri e letteres.isalpha()dàTruesescontiene solo letteres.isdigit()dàTruesescontiene solo numeris.isspace()dàTruesescontiene solo spazis.islower()dàTruesescontiene solo lettere minuscoles.isupper()dàTruesescontiene solo lettere maiuscoles.endswith( "arrivederci." )dàTruesesfinisce con"arrivederci."s.startswith( "Buongiorno," )dàTruesesparte 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 lungawidths.ljust(width)aggiunge spazi in fondo alla stringa finché non è lungawidths.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...)usascome una stringa di printf e la formatta usando i parametrival1, val2...
Esempio:
>>> "Risultato della %s: %.4f" % ("divisione", 3./4.)
'Risultato della divisione: 0.7500'