Programmazione

Lavorare con le stringhe in Python

Lavorare con le stringhe in Python

La stringa è uno dei tipi di dati più popolari in python. Possiamo usare il tipo di dati stringa per memorizzare qualsiasi dato di testo. In Python, qualsiasi carattere tra virgolette singole o doppie è considerato stringhe. Questi caratteri possono essere uno qualsiasi dei caratteri Unicode supportati in python. In questo tutorial, impareremo quasi tutto sul tipo di dati stringa in python.

Per seguire questo tutorial, si consiglia di avere l'ultima versione di Python installata nel sistema. Se hai una versione precedente di python installata nel tuo sistema, puoi seguire la nostra guida sull'aggiornamento di python su Linux. 

Creare stringhe in Python

Per creare una stringa in python, dobbiamo mettere le virgolette dell'array dei caratteri. Python tratta allo stesso modo sia le virgolette singole che quelle doppie, quindi possiamo usarne una qualsiasi durante la creazione di una stringa. Guarda gli esempi seguenti in cui creiamo una stringa, li memorizziamo in variabili e poi li stampiamo.

# creazione di una stringa
saluto = "Ciao mondo"
# stampa la stringa
stampa (saluto)

Eseguendo il codice sopra, otterrai l'output Ciao mondo.

creare stringhe in python

In questo codice, abbiamo creato una stringa Ciao mondoe l'ho memorizzato in una variabile denominata saluto. Quindi usiamo la funzione di stampa Python per visualizzare la stringa memorizzata nella variabile. Otterrai il seguente output durante l'esecuzione del codice. Possiamo anche creare una stringa multilinea usando le virgolette triple nel codice di esempio seguente.

var = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
stampa (var)

Ecco l'output.

stringa multilinea in python

In Python, le stringhe sono array di byte che rappresentano caratteri Unicode. Ma non ha alcun tipo di dati integrato per i singoli caratteri come in C o C++. Qualsiasi stringa che ha una lunghezza di uno è considerata un carattere.

Lunghezza delle corde 

In molte situazioni, potrebbe essere necessario calcolare una lunghezza della stringa. C'è una funzione integrata che può calcolare la lunghezza di una stringa. La funzione che useremo è la lente() funzione.

Per vedere un esempio pratico di la lente() funzione, esegui il seguente codice nel tuo IDE Python.

var = "Questa è una stringa"
print("La lunghezza della stringa è:", len(var))

Produzione:

lunghezza della stringa usando il metodo len()

Possiamo anche usare il ciclo python for, di cui ho discusso in questo tutorial, per calcolare la lunghezza di una stringa. 

Esempio:

var = "Questa è una stringa"
conteggio = 0
per io in var:
contare = contare + 1
print("La lunghezza della stringa è:", conteggio)

Produzione:

lunghezza della stringa manualmente utilizzando il ciclo for

Concatenazione di stringhe

La concatenazione di stringhe è l'unione o l'unione di due stringhe. Possiamo unire facilmente due stringhe usando l'operatore +. Vediamo un esempio di unione di due stringhe in Python.

# creazione di due stringhe
stringa1 = "Ciao"
stringa2 = "Mondo"
# unendo le due stringhe
saluto = stringa1 + stringa2
stampa (saluto)

Nel codice sopra, abbiamo creato due stringhe, vale a dire "Hello" e "World", e le memorizziamo in due variabili denominate stringa1 e stringa2. Quindi abbiamo usato l'operatore + per unire le due stringhe e memorizzarle in una variabile denominata saluto e l'abbiamo visualizzata usando il Stampa() funzione.

Produzione:

concatenazione di due stringhe

Ripetizione di String

Possiamo ripetere una stringa più volte in Python usando l'operatore *. Ad esempio, per stampare due volte la stringa “Fosslinux”, dobbiamo scrivere il seguente codice.

print("Fosslinux"*2)

Produzione:

ripetizione di archi

Stringhe di formattazione

È facile eseguire la formattazione delle stringhe in Python. Ci sono tre modi:

1. Vecchio stile di formattazione

Il vecchio stile di formattazione delle stringhe viene eseguito utilizzando l'operatore %. Dobbiamo utilizzare simboli speciali come  "%s", "%d", "%f", "%.f”. con la stringa e quindi specificare la tupla di dati che vogliamo formattare in quel posto. Vediamo quali sono i dati accettati dai simboli sopra.

Ad esempio, vedere il codice sottostante. Puoi copiare ed eseguire il codice nel tuo IDE Python preferito.

string1 = "È una stringa formattata con numero intero %d" %(1)
string2 = "È una stringa formattata con stringa %s" %("Fosslinux")
string3 = "È una stringa formattata con dati float %f" %(1.01)
stampa(stringa1)
stampa(stringa2)
stampa(stringa3)

Produzione:

il vecchio stile di formattazione delle stringhe in Python

Come possiamo vedere nell'output, abbiamo formattato le stringhe con i dati integer, float e string. Questo metodo di formattazione delle stringhe è il modo più antico, ma è meno utilizzato al giorno d'oggi.

2. Usando il metodo format()

Questa è una nuova tecnica di formattazione delle stringhe introdotta in Python 3. Le funzioni format() prendono i dati come argomento e li sostituiscono nella stringa in cui si trova il segnaposto sono presenti. 

Esempio:

string1 = "È una stringa formattata con numero intero ".formato(1)
string2 = "È una stringa formattata con stringa ".format("Fosslinux")
string3 = "È una stringa formattata con dati float ".formato(1.01)
stampa(stringa1)
stampa(stringa2)
stampa(stringa3)
print(" è un ottimo sito web per imparare e ".format("FossLinux", "Linux", "Python"))

Otterremo la stringa formattata come output durante l'esecuzione del codice sopra, come mostrato nell'immagine qui sotto.

formattazione delle stringhe usando la funzione format()

3. f-stringhe

L'ultima tecnica di formattazione delle stringhe è l'interpolazione delle stringhe o f-strings, introdotta nella versione 3 di Python.6. Possiamo specificare un nome di variabile direttamente in una f-string e l'interprete Python sostituirà il nome della variabile con il valore dei dati corrispondente ad esso. Le f-stringhe iniziano con la lettera f e possiamo iniettare direttamente i dati nelle posizioni corrispondenti. Questa tecnica di formattazione delle stringhe è diventata molto popolare negli ultimi giorni. Per vedere una demo del suo funzionamento, copia il codice seguente ed eseguilo nel tuo IDE Python.

string1 = f"È una stringa formattata con intero 1"
string2 = f"È una stringa formattata con stringa 'fosslinux'"
string3 = f"È una stringa formattata con dati float 0.01"
stampa(stringa1)
stampa(stringa2)
stampa(stringa3)
a = "Fosslinux"
b = "Linux"
c = "Pitone"
print(f"a è un ottimo sito web per imparare b e c")

Abbiamo usato il metodo di interpolazione delle stringhe per formattare le stringhe nel codice sopra. Le stringhe che iniziano con il carattere f  sono stringhe f. La f-string ha reso il nostro lavoro semplice e possiamo scrivere le variabili direttamente nelle stringhe dando variabili sotto il segnaposto. Eseguendo il codice sopra, otterremo il seguente output.

formattazione delle stringhe usando f-strings

Cerca una sottostringa

Spesso, potremmo voler controllare l'esistenza di un carattere o una sottostringa in una stringa. Questo può essere fatto usando il nel e Non in Parole chiave Python. Ad esempio, per verificare se Ciao è presente nella stringa Ciao mondo, dobbiamo eseguire il seguente codice.

x = "ciao" in "ciao mondo"
stampa(x)

Eseguendo il codice sopra in un IDE Python, otterremo il valore booleano Vero come output, il che significa che la sottostringa "hello" è presente nel "hello world".

controlla una sottostringa in una stringa

Vediamo un'altra dimostrazione per sapere come funziona in un modo migliore.

string = "FossLinux è un ottimo sito Web per imparare Linux e Python"
print("Fosslinux" nella stringa)
print("FossLinux" nella stringa)
print("Foss" nella stringa)
print("Pyt" nella stringa)
print("hon" nella stringa)
print("Python" non nella stringa)

Produzione:

controlla una sottostringa in una stringa usando in parola chiave

Nel codice sopra, abbiamo usato sia il nel e il Non in parole chiave per controllare una sottostringa nella stringa padre.

Stringa come sequenza di caratteri

La stringa Python è una sequenza di caratteri; sono quasi simili ad altre sequenze ordinate di Python come list, tuple, ecc. Possiamo estrarre singoli caratteri dalle stringhe in molti modi, come scompattarli usando variabili e indicizzando che parlerò nel prossimo argomento. Possiamo decomprimere le stringhe assegnandole alle variabili. Per vedere come funziona, copia ed esegui il seguente codice nel tuo IDE Python preferito.

lingua = 'Fosslinux'
# scompattare la stringa in variabili
a,b,c,d,e,f,g,h,i = lingua
stampa(a)
stampa(b)
stampa(c)
stampa(d)
stampa(e)
stampa(f)
stampa(g)
stampa(h)
stampa(i)

Produzione:

decomprimere i caratteri usando le variabili

Stringhe di indicizzazione

L'indicizzazione delle stringhe è una tecnica fondamentale e popolare con la quale possiamo accedere al carattere di una stringa ed eseguire molte operazioni sulle stringhe molto facilmente. Nella programmazione, il conteggio inizia con zero (0), quindi per ottenere il primo carattere di una stringa, dobbiamo dare zero nell'indice. Per vedere un esempio pratico di indicizzazione, copia ed esegui il seguente codice in un IDE Python.

stringa = "Fosslinux"
print(string[0])
print(stringa[1])
print(stringa[2])
print(stringa[3])

Nel codice sopra, creiamo prima una stringa denominata Fosslinux, e quindi usiamo l'indicizzazione della stringa python per ottenere il primo, il secondo, il terzo e il quarto carattere della stringa. Otterremo il seguente output nel terminale durante l'esecuzione del codice.

stringhe di indicizzazione

Python supporta anche l'indicizzazione negativa, che è molto utile quando possiamo iniziare a contare dal lato destro. Ad esempio, per ottenere il penultimo carattere di una stringa "Fosslinux", dobbiamo scrivere il codice seguente.

stringa = "Fosslinux"
print("Il penultimo termine della stringa è: ", string[-2])

Eseguendo il codice, otterremo il penultimo termine della stringa "Fosslinux", come mostrato nell'immagine sottostante.

indicizzazione negativa nelle stringhe Python

Ottenere l'ultimo termine di una stringa

A volte potremmo voler ottenere l'ultimo termine della stringa. Abbiamo due modi per farlo: il primo usa l'indicizzazione negativa e il secondo usa la funzione len() con l'indicizzazione.

Per ottenere l'ultimo termine della stringa utilizzando l'indicizzazione negativa, guarda il codice seguente.

stringa = "Fosslinux"
print("L'ultimo termine della stringa è: ", string[-1])

Produzione:

ultimo termine utilizzando l'indicizzazione negativa

Possiamo anche usare la funzione len() con l'indicizzazione per ottenere l'ultimo termine. Per fare ciò, dobbiamo calcolare la lunghezza della stringa, quindi dobbiamo trovare il carattere indicizzando il valore, che è uno in meno della lunghezza della stringa. Vedi l'esempio sotto.

stringa = "Fosslinux"
lunghezza = lunghezza (stringa)
last_index = lunghezza-1
print("L'ultimo termine della stringa è: ", string[ultimo_indice])

Nel codice sopra, abbiamo prima creato una stringa e l'abbiamo archiviata in una variabile denominata corda. Quindi calcoliamo la lunghezza della stringa usando il metodo len(). Poiché l'indicizzazione in Python inizia con zero, dobbiamo sottrarre uno dalla lunghezza. Quindi lo passiamo come indice al corda. Quindi otteniamo l'ultimo carattere della stringa. 

Produzione:

ultimo termine calcolando la lunghezza

Affettare le stringhe

In Python abbiamo un'ottima tecnica, una forma estesa di indicizzazione nota come string slicing. Questo può essere usato per suddividere una stringa in una sottostringa. Per fare lo slicing, dobbiamo dare il numero di indice del primo carattere e dell'ultimo carattere della sottostringa nell'indice della stringa mettendo un punto e virgola al centro di essi. Per una demo pratica, vedere il codice di esempio qui sotto.

stringa = "Fosslinux"
print(stringa[1:6])
print(string[0:4])

Produzione:

stringhe per affettare

Salta i caratteri durante l'affettatura

Possiamo anche saltare i caratteri mentre tagliamo una stringa. Durante l'affettatura di una stringa, abbiamo la seguente sintassi.

stringa[inizio:fine:passo]

L'inizio e l'arresto sono i numeri di indice predefiniti che abbiamo usato nella sintassi sopra fino ad ora. Il parametro step accetta un numero intero, che viene utilizzato per fornire il numero di caratteri da lasciare in ogni step.

Invertire le stringhe

Possiamo invertire facilmente una stringa usando il metodo dello slicing. Ad esempio, vedere il codice sottostante. Copia il codice seguente nel tuo IDE Python ed eseguilo.

stringa = "Fosslinux"
print("La stringa inversa di", stringa,"è",string[::-1])

Questo codice invertirà la stringa "Fosslinux."Eseguendo il codice, otterremo il seguente output.

stringa di inversione

Carattere di fuga nelle stringhe

I caratteri di escape nella programmazione sono un ottimo modo per aggiungere caratteri non stampabili nelle stringhe. Ad esempio, per aggiungere il carattere di nuova riga nelle stringhe, usiamo il carattere di escape "\n". Vedi il codice sotto per una demo.

print("\n\n\n Ciao\n\n Mondo")

Eseguendo il codice, otterremo il seguente output.

caratteri di escape nelle stringhe

Come possiamo vedere nel codice che le nuove righe vengono aggiunte automaticamente al posto di "\n". È qui che entra in gioco la sequenza di fuga. Ci sono molti caratteri di sequenza presenti in python. Li elencherò tutti qui; puoi provarli tutti per vedere come funzionano ciascuno.

Metodi di stringa

Abbiamo imparato molte cose sulle stringhe Python, ma questa parte è molto più utile di qualsiasi altra parte di questo articolo. Python è dotato di un gran numero di funzioni integrate per lavorare con le stringhe. Usandoli, possiamo facilmente eseguire molte operazioni sulle stringhe. 

Trasformare i casi di stringa

Abbiamo alcune funzioni integrate che possono essere utilizzate per trasformare i casi di stringa. Discutiamoli tutti.

corda.capitalizzare()

Questo metodo viene utilizzato per capitalizzare sulla stringa di destinazione. Quando usiamo il metodo as corda.capitalizzare, restituirà la stringa capitalizzandola, i.e., trasformare il primo carattere in maiuscolo e tutti gli altri caratteri in minuscolo. Per vedere una pratica demo della sua copia di lavoro ed eseguire il seguente codice nel tuo IDE Python.

stringa = "fosslinux"
print(stringa.capitalizzare())
Abbiamo usato il capitalizzare() metodo dell'oggetto String, capitalizzandolo. Eseguendo il codice, otterremo il seguente output.
mette in maiuscolo una stringa

.superiore()

Questo metodo viene utilizzato per trasformare una stringa in maiuscolo, i.e., capitalizza tutti i caratteri presenti nella stringa. 

Esempio:

stringa = "Fosslinux"
print(stringa.superiore())

Produzione:

trasformare una stringa in maiuscolo

corda.inferiore()

Questo metodo viene utilizzato per trasformare una stringa in minuscolo, i.e., cambia tutti i caratteri presenti nella stringa in minuscolo. 

Esempio:

stringa = "FOSSLinux"
print(stringa.inferiore())

Produzione:

trasformare una stringa in maiuscolo

corda.caso di scambio()

Questo è un ottimo metodo per scambiare le maiuscole tra i caratteri di una stringa. Converte i caratteri minuscoli in maiuscoli e viceversa della stringa. Per vederlo funzionare, basta copiare ed eseguire il seguente codice.  

stringa = "FOSSlinux"
print(stringa.swapcase())

Produzione:

caso di scambio di stringhe di pitone

corda.titolo()

Di nuovo, questo è un metodo eccellente nella manipolazione delle stringhe in quanto trasforma il primo carattere di ogni parola presente nella stringa in maiuscolo. 

Esempio:

string = "Fosslinux è un grande"
print(stringa.titolo())

Produzione:

trasformare la stringa in titolo

Potresti aver notato la differenza tra capitalizzare() e il titolo() metodo. Il capitalizzare() Il metodo rende maiuscolo solo il primo carattere della prima parola della stringa, mentre il titolo() il metodo rende maiuscolo il primo carattere di ogni parola presente nella stringa.

Classificazione dei caratteri

Abbiamo anche metodi per controllare il caso di una stringa, se maiuscolo, minuscolo, ecc. Discutiamoli in breve con esempi.

corda.isalnum()

Questo metodo viene utilizzato per verificare se una stringa contiene solo numeri alfanumerici o meno, i.e., tutti i suoi caratteri devono essere numeri o alfabeti ma nessun altro carattere, inclusi gli spazi. 

Esempio:

stringa1 = "Fosslinux123"
string2 = "Fosslinux è un grande"
string3 = "Fosslinux @ # 123"
print(stringa1.isalnum()) # contiene solo alfabeto e numeri
print(string2.isalnum()) # contiene spazi bianchi
print(string3.isalnum()) # contiene caratteri speciali

Produzione:

controllo dei numeri alfanumerici in una stringa

corda.isalfa()

Questo metodo stringa è simile al metodo precedente, ma controlla solo gli alfabeti, non i numeri nella stringa, il che significa che la stringa deve contenere solo alfabeti. Ad esempio, esegui il seguente codice.

stringa1 = "Fosslinux123"
string2 = "Fosslinux"
print(stringa1.isalpha()) # contiene alfabeti e numeri
print(string2.isalpha()) # contiene solo alfabeto

Otterremo False per il primo perché contiene numeri e otterremo True per il successivo poiché contiene solo alfabeti. 

Produzione:

controllando gli alfabeti nelle stringhe

corda.è cifra()

Questo metodo è simile a quello sopra, ma invece di alfabeti, controlla se la stringa è composta solo da cifre. Restituisce True se tutti i caratteri presenti in una stringa sono cifre; altrimenti restituisce False.

corda.identificatore di identità()

Questo è anche un ottimo metodo di stringa di Python of. Usando questo metodo, possiamo verificare se una stringa è un identificatore Python valido o meno. Ho discusso le regole per la scelta dell'identificatore python valido nelle basi del tutorial python. 

Esempio:

stringa1 = "Fosslinux123"
stringa2 = "123Fosslinux"
string3 = "_Fosslinux"
string4 = "Fosslinux@1234"
print(stringa1.isidentifier()) # Vero
print(string2.isidentifier()) # False (iniziato con numeri)
print(string3.isidentifier()) # Vero
print(string4.isidentifier()) # False (contiene caratteri speciali @)

Produzione:

verifica dell'identificatore nella stringa

corda.è più basso()

Questo metodo di stringa controlla se tutti i caratteri della stringa sono minuscoli. Se sì, restituisce True altrimenti restituisce False.

corda.isupper()

Questo metodo di stringa controlla se tutti i caratteri presenti in una stringa sono maiuscoli. Se sì, restituisce Vero altrimenti restituisce Falso.

corda.istitolo()

Il istitolo() il metodo della stringa restituirà True se il primo alfabeto di tutte le parole presenti in una stringa è maiuscolo e tutti gli altri caratteri sono minuscoli.

corda.è stampabile()

Restituisce True se tutti i caratteri presenti nella stringa sono stampabili, i.e., caratteri senza escape; altrimenti, restituisce False. Per vedere come funziona, esegui il seguente codice.

stringa1 = "Fosslinux"
string2 = "\nFosslinux"
print(stringa1.isprintable()) # Vero
print(string2.isprintable()) # False (Contiene il carattere di nuova riga)

Produzione:

controllo dei caratteri stampabili

corda.èspazio()

Il corda.èspazio() il metodo restituirà True se tutti i caratteri della stringa sono spazi vuoti; altrimenti, restituirà False.

Altre funzioni importanti

corda.contare()

Il metodo count() dell'oggetto String viene utilizzato per ottenere il numero di volte in cui si verifica un valore specificato. 

Esempio:

stringa = "Fosslinux"
print(stringa.conteggio("s"))

Nel codice sopra, abbiamo usato il contare() metodo per ottenere il numero di volte in cui il carattere "s" appare nella stringa "Fosslinux."

Produzione:

contando i caratteri specificati nella stringa

corda.inizia con()

Questo metodo di stringa controlla se la stringa inizia con la sottostringa fornita nell'argomento del metodo. Per vedere una pratica demo del suo funzionamento, copia ed esegui il codice seguente in un IDE Python.

stringa = "Fosslinux"
print(stringa.inizia con ("F"))
print(stringa.inizia con ("Fo"))
print(stringa.inizia con ("Foss"))
print(stringa.inizia con ("Foss"))

Eseguendo il codice sopra, otterremo True per i primi tre mentre l'ultimo restituisce False, come mostrato nell'immagine di output sottostante.

la stringa inizia con

corda.finisce con()

Questo è simile al metodo sopra, ma la differenza è che mentre il precedente controlla l'inizio di una stringa, controllerà alla fine della stringa.

corda.trova()

Il metodo find() dell'oggetto String è un metodo importante per trovare un carattere o una sottostringa in una stringa. Accetta la sottostringa come argomento e restituisce l'indice della sottostringa se presente nella stringa; altrimenti restituisce -1. 

Esempio:

stringa = "Fosslinux"
print(stringa.trova("lin"))

Eseguendo il codice sopra, otterremo l'output come 4, che è l'indice iniziale della sottostringa "lin" in "Fosslinux."

funzione trova stringhe string

corda.sostituire()

La sintassi di questo metodo è replace (vecchio, nuovo). Richiede due argomenti; uno è la vecchia sottostringa e la nuova è la sottostringa. Sostituisce tutta la vecchia sottostringa con la nuova sottostringa nell'intera stringa.

Esempio:

stringa = "Fosslinux"
print(stringa.sostituisci ("Foss",""))
Otterremo solo il Linux stampato sullo schermo come il Foss viene sostituito con spazi bianchi durante l'esecuzione del codice sopra.  Produzione: 
funzione di sostituzione delle stringhe

corda.Diviso()

Questo metodo prende il separatore come argomento, divide la stringa in base al separatore e restituisce un elenco Python. 

Esempio:

string = "Fosslinux è un ottimo punto di partenza per imparare Linux e Python"
print(stringa.Diviso(" "))
Eseguendo il codice sopra, otterremo un elenco delle parole stringa. Poiché abbiamo usato la funzione split con spazi bianchi come argomento, divide la stringa quando ottiene spazi bianchi.  Produzione: 
funzione di divisione della stringa python

corda.striscia()

Questo metodo viene utilizzato per rimuovere tutti gli spazi bianchi iniziali e finali dalla stringa.

Conclusione

Questo è tutto sulle stringhe e sul suo utilizzo in Python. Passare attraverso il tutorial ti darà un'idea di quanto sia utile lavorare con le stringhe in Python. Potresti anche voler vedere il tutorial sull'uso del ciclo for in Python, un ciclo definitivo per l'iterazione in Python. Infine, prima di partire, potresti voler dare un'occhiata al metodo per invertire una stringa in Python, che è utile durante la gestione delle stringhe.

Controlla e gestisci il movimento del mouse tra più monitor in Windows 10
Gestore mouse con doppio display ti consente di controllare e configurare il movimento del mouse tra più monitor, rallentando i suoi movimenti vicino ...
WinMouse ti consente di personalizzare e migliorare il movimento del puntatore del mouse su PC Windows
Se vuoi migliorare le funzioni predefinite del puntatore del mouse, usa freeware WinMouse. Aggiunge più funzionalità per aiutarti a ottenere il massim...
Il tasto sinistro del mouse non funziona su Windows 10
Se stai utilizzando un mouse dedicato con il tuo laptop o computer desktop ma il il tasto sinistro del mouse non funziona su Windows 10/8/7 per qualch...