Stringhe Python - Panoramica delle operazioni di base sulle stringhe

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.



Crea nuove stringhe in Python

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'''


Indicizzazione delle stringhe

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'

String Slicing

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'

Lunghezza di una stringa

Il metodo Python integrato len() restituisce la lunghezza di una stringa.

myPet = 'Dog not a cat' len(myPet) # 13

Itera attraverso una stringa

Puoi scorrere ogni carattere in una stringa usando for ciclo continuo.

Esempio:

name = 'John' for char in name:
print(char) # 'J', 'o', 'h', 'n'


Concatenazione di stringhe

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.



Concatenazione di stringhe e int

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

Come dividere una stringa

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']

Striscia: rimuovi gli spazi bianchi

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.



Formattazione di una stringa

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'

Converti una stringa in minuscolo

Utilizzando Python lower() metodo, puoi convertire una stringa in minuscolo.

Esempio:

string = 'Hello, World!' string.lower() # 'hello, world!'

Converti una stringa in maiuscolo

Allo stesso modo, utilizzando upper() metodo, puoi convertire una stringa in maiuscolo.

Esempio:

string = 'Hello, World!' string.upper() # 'HELLO, WORLD!'

Conclusione

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