Le stringhe sono uno dei tipi di dati di base in Python. Le stringhe Python sono una combinazione di un numero qualsiasi di caratteri costituiti da lettere, cifre e altri caratteri speciali. In questo tutorial imparerai come crearli, manipolarli e formattarli per utilizzarli in diversi scenari.
Per creare una nuova stringa Python, devi solo dichiarare una sequenza di caratteri racchiusi tra virgolette singole o doppie. Le virgolette triple vengono utilizzate anche per stringhe di più righe.
double_quotes = 'My name is John!' single_quotes = 'My name is John!' multi_line_string = '''1. My name is John!
2. I am a programmer'''
Ogni carattere in una stringa Python ha un indice intero. L'indicizzazione parte da 0 al primo carattere e si incrementa lungo la stringa. È possibile utilizzare l'indice di un singolo carattere per recuperare quel carattere dalla stringa come illustrato nell'esempio seguente.
myPet = 'Dog not a cat' myPet[0] # 'D' myPet[5] # 'o' myPet[7] # ' ' myPet[12] # 't' # myPet[15] # IndexError
Il tentativo di accedere a un personaggio oltre l'indice del carattere finale risulta in un IndexError .
È possibile accedere a un carattere in una stringa utilizzando un indice negativo. In questo caso, l'indicizzazione inizia da -1 al carattere finale della stringa e aumenta negativamente man mano che si torna indietro.
myPet = 'Dog not a cat' myPet[-1] # 't' myPet[-6] # ' ' myPet[-8] # 'o' myPet[-13] # 'D'
Il sezionamento è il metodo per estrarre una sottostringa (una parte della stringa) da una stringa. Questa operazione viene eseguita con l'aiuto dell'indicizzazione delle stringhe.
myPet = 'Dog not a cat' myPet[5:7] # 'ot' myPet[1:12] # 'og not a ca'
Qui, vengono forniti due indici separati da due punti, il primo indice indica dove iniziare a tagliare e il secondo indice indica dove fermarsi. La sottostringa risultante include caratteri dall'indice iniziale al carattere prima dell'indice finale, il carattere nell'indice finale non è incluso nella sottostringa.
Se non fornisci l'indice iniziale, il sezionamento inizia dal primo carattere della stringa. Se non fornisci l'indice finale, l'affettatura termina al carattere finale includendolo nella sottostringa risultante.
myPet = 'Dog not a cat' myPet[:7] # 'Dog not' myPet[10:] # 'cat' myPet[:] # 'Dog not a cat'
Puoi fornire indici negativi anche come indici di suddivisione.
myPet = 'Dog not a cat' myPet[10:-1] # 'ca'
Il metodo Python integrato len()
restituisce la lunghezza di una stringa.
myPet = 'Dog not a cat' len(myPet) # 13
Puoi scorrere ogni carattere in una stringa usando for
ciclo continuo.
Esempio:
name = 'John' for char in name:
print(char) # 'J', 'o', 'h', 'n'
La concatenazione di stringhe è l'unione di due o più stringhe per creare una singola stringa. In Python esistono diversi metodi per concatenare le stringhe.
Uno sta usando +
operatore.
str1 = 'Hello' str2 = 'World' concat_str = str1 + str2 # 'HelloWorld' concat_str = str1 + ' ' + str2 # 'Hello World'
Puoi usare *
operatore per concatenare una stringa a se stesso un numero qualsiasi di volte.
concat_str = str1*3 # 'HelloHelloHello'
Un altro modo per concatenare le stringhe è tramite join()
metodo.
Il built-in join()
viene utilizzato per concatenare un array di stringhe utilizzando un separatore comune.
arr = [str1, str2] concat_str = (' ').join(arr) # 'Hello World' concat_str = (',').join(arr) # 'Hello,World'
Nel codice sopra, il primo join()
Il metodo aggiunge uno spazio bianco tra ogni parola dell'array.
Il secondo join()
Il metodo inserisce una virgola tra ogni parola dell'array.
In Python, possiamo anche concatenare una stringa a un numero intero ma non con +
operatore. Se tentiamo di utilizzare il codice seguente:
name = 'John' age = 35 print(a + b)
Otterremmo:
Traceback (most recent call last): File 'concat.py', line 5, in
print(a + b) TypeError: can only concatenate str (not 'int') to str
Nota:Non è possibile concatenare una stringa e un numero intero utilizzando +
operatore.Per evitare questo errore, possiamo usare str()
metodo per convertire il numero intero in stringa, ad esempio:
name = 'John ' age = '35' print(a + str(b)) #John 35
Il built-in split()
viene utilizzato per dividere una singola stringa in un array di stringhe.
string = 'My name is John' split_arr = string.split(' ') # ['My', 'name', 'is', 'John'] We can also split a string using a separator: string = 'John, Rose, Jack, Mary' split_arr = string.split(', ') # ['John', 'Rose', 'Jack', 'Mary']
strip()
, il metodo delle stringhe incorporato viene utilizzato per rimuovere gli spazi bianchi dall'inizio e dalla fine di una stringa.
string = ' Hello, World ' stripper_str = string.strip() # 'Hello, World'
Come puoi vedere, strip()
non rimuove gli spazi bianchi che si trovano tra gli altri caratteri ma solo alle due estremità.
Esistono due varianti di strip()
metodo, striscia sinistra e striscia destra:
lstrip()
rstrip()
Questi metodi rimuovono gli spazi bianchi rispettivamente sul lato sinistro e sul lato destro della stringa.
Esempio:
lsplit_str = string.lstrip() # 'Hello, World ' rsplit_str = string.rstrip() # ' Hello, World'
I metodi strip sono particolarmente utili quando si leggono gli input degli utenti, dove gli utenti potrebbero passare spazi bianchi aggiuntivi.
Python's format()
viene utilizzato per formattare una stringa. Bretelle ricci {}
vengono utilizzati all'interno della stringa che deve essere formattata come segnaposto per la parte che deve essere sostituita dagli argomenti forniti a format()
metodo.
Esempio:
'Hello, {}'.format('John') # 'Hello, John'
Nell'esempio sopra {}
è sostituito da 'John' nella stringa formattata.
È possibile utilizzare più di una parentesi graffa all'interno della stringa per formattare. Sono sostituiti dagli argomenti forniti a format()
metodo nell'ordine fornito (se non sono menzionati indici posizionali all'interno di parentesi graffe) o nell'ordine posizionale.
Esempio:
'I have a {}, {}, and a {}'.format('dog', 'cat', 'rabbit') # 'I have a dog, cat, and a rabbit' 'I have a {1}, {0}, and a {2}'.format('dog', 'cat', 'rabbit') # 'I have a cat, dog, and a rabbit'
Invece di utilizzare gli indici, puoi fornire argomenti di parole chiave a format()
in modo che tali parole chiave possano essere utilizzate all'interno di parentesi graffe.
Esempio:
print('{friend} is my friend and {enemy} is my enemy'.format(friend='John', enemy='Jack')) # 'John is my friend and Jack is my enemy'
Il format()
è abbastanza versatile in quanto può essere utilizzato per molti casi d'uso.
Ecco alcune altre applicazioni di format()
metodo:
arr = [3, 5] 'I have {0[0]} dogs and {0[1]} cats'.format(arr) # 'I have 3 dogs and 4 cats' #convert numbers to different bases 'int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}'.format(42) # 'int: 42; hex: 2a; oct: 52; bin: 101010'
Utilizzando Python lower()
metodo, puoi convertire una stringa in minuscolo.
Esempio:
string = 'Hello, World!' string.lower() # 'hello, world!'
Allo stesso modo, utilizzando upper()
metodo, puoi convertire una stringa in maiuscolo.
Esempio:
string = 'Hello, World!' string.upper() # 'HELLO, WORLD!'
Spero che con l'aiuto di questo tutorial ora tu abbia familiarità con le stringhe Python e come utilizzare vari metodi per le operazioni sulle stringhe.
Riferimento: Documentazione sulle stringhe di Python