La formattazione delle stringhe consente di creare stringhe dinamiche combinando variabili e valori. In questo articolo discuteremo di 5 modi per formattare una stringa.
Imparerai diversi metodi di formattazione delle stringhe con esempi per una migliore comprensione. Diamo un'occhiata a loro ora!
Come formattare le stringhe in Python
Esistono cinque modi diversi per eseguire la formattazione delle stringhe Pitone
- Formattazione con operatore %.
- Formattazione con il metodo stringa format().
- Formattazione con stringhe letterali, chiamate f-string.
- Formattazione con la classe modello stringa
- Formattazione con il metodo stringa center().
Vedremo quindi tutti i modi sopra menzionati e ci concentreremo anche su quale strategia di formattazione delle stringhe sia la migliore.
1. Come formattare la stringa utilizzando l'operatore %
È il metodo più antico di formattazione delle stringhe. Qui usiamo il modulo % operatore . Il modulo % è noto anche come operatore di formattazione delle stringhe.
Stringa di formato Python utilizzando l'operatore %
Nell'espressione Il cane randagio rognoso e magro %s ha divorato % 'in fretta', il segnaposto %s all'interno della stringa è sostituito dal valore 'in fretta'.
Python3
espressione regolare Java per
print>(>'The mangy, scrawny stray dog %s gobbled down'> %>'hurriedly'> +> >'the grain-free, organic dog food.'>)> |
>
>Produzione
The mangy, scrawny stray dog hurriedly gobbled downthe grain-free, organic dog food.>
Iniezione di più stringhe utilizzando l'operatore modulo
Qui stiamo inserendo più stringhe con l'operatore %.
Python3
x>=> 'looked'> print>(>'Misha %s and %s around'>%>(>'walked'>,x))> |
>
>Produzione
Misha walked and looked around>
Gestione di precisione in Python utilizzando l'operatore %
I numeri in virgola mobile utilizzano il formato %a.bf . Qui, UN sarebbe il numero minimo di cifre che devono essere presenti nella stringa; questi potrebbero essere riempiti con uno spazio bianco se l'intero numero non ha così tante cifre.
Vicino a questo, bf rappresenta quante cifre devono essere visualizzate dopo il punto decimale.
In questo codice, la stringa 'Il valore di pi greco è: %5.4f' contiene un identificatore di formato %5.4f. L'identificatore di formato %5.4f viene utilizzato per formattare un numero a virgola mobile con una larghezza minima di 5 e una precisione di 4 cifre decimali.
Python3
print>(>'The value of pi is: %5.4f'> %>(>3.141592>))> |
>
>Produzione
The value of pi is: 3.1416>
Tipi di conversione di formati multipli
Nel codice fornito, la stringa di formattazione Python viene convertita in intero e in virgola mobile con %d,%f.
Python3
variable>=> 12> string>=> 'Variable as integer>=> %>d
> Variable as>float> => %>f'>%>(variable, variable)> print> (string)> |
>
>Produzione
Variable as integer = 12 Variable as float = 12.000000>
Nota: Per saperne di più sulla formattazione %, fare riferimento a Formattazione delle stringhe in Python usando %
2. Come formattare la stringa utilizzando il metodo format()
Metodo Formato() è stato introdotto con Python3 per gestire la formattazione di stringhe complesse in modo più efficiente.
I formattatori funzionano inserendo uno o più campi sostitutivi e segnaposto definiti da una coppia di parentesi graffe { } in una stringa e chiamando il comando str.format() . Il valore che desideriamo inserire nei segnaposto e concatenare con la stringa passata come parametro nella funzione format.
Sintassi: ‘Stringa qui {} poi anche {}’.format(‘qualcosa1′,’qualcosa2’)
Formattazione della stringa Python utilizzando il metodo format()
Questo codice utilizza {} come segnaposto e quindi abbiamo chiamato il metodo.format() su 'uguale' al segnaposto.
Python3
10 1 milione
print>(>'We all are {}.'>.>format>(>'equal'>))> |
>
>Produzione
We all are equal.>
Inserimento basato su indice
In questo codice, le parentesi graffe {} con indici vengono utilizzate all'interno della stringa '{2} {1} {0}' per indicare le posizioni in cui verranno posizionati i valori corrispondenti.
Python3
print>(>'{2} {1} {0}'>.>format>(>'directions'>,> >'the'>,>'Read'>))> |
>
>Produzione
Read the directions>
Inserisci oggetto assegnando parole chiave
In questo codice, le parentesi graffe {} con segnaposto denominati ({a}, {b}, {c}) vengono utilizzate all'interno della stringa 'a: {a}, b: {b}, c: {c}' per indicare le posizioni in cui verranno posizionati gli argomenti con nome corrispondenti.
Python3
print>(>'a: {a}, b: {b}, c: {c}'>.>format>(a>=> 1>,> >b>=> 'Two'>,> >c>=> 12.3>))> |
>
>Produzione
a: 1, b: Two, c: 12.3>
Riutilizzare gli oggetti inseriti
In questo codice, le parentesi graffe {} con segnaposto denominati ({p}) vengono utilizzate all'interno della stringa 'La prima {p} andava bene, ma la {p} {p} era difficile.' per indicare le posizioni in cui si trova il nome corrispondente verrà inserito l'argomento p.
formattazione stringhe java
Python3
print>(> >'The first {p} was alright, but the {p} {p} was tough.'>.>format>(p>=>'second'>))> |
>
>Produzione
The first second was alright, but the second second was tough.>
Precisione float con il metodo.format()
Sintassi: {[indice]:[larghezza][.precisione][tipo]}
Il tipo può essere utilizzato con i codici di formato:
- 'D' per gli interi
- 'F' per i numeri in virgola mobile
- 'B' per i numeri binari
- 'O' per i numeri ottali
- 'X' per i numeri esadecimali ottali
- 'S' per corda
- 'È' per virgola mobile in formato esponente
Esempio:
Entrambi i codici stanno eseguendo la formattazione delle stringhe. La prima stringa è formattata con '%' e la seconda stringa è formattata con .format().
Python3
print>(>'The valueof pi is: %1.5f'> %>3.141592>)> print>(>'The valueof pi is: {0:1.5f}'>.>format>(>3.141592>))> |
>
>Produzione
The valueof pi is: 3.14159 The valueof pi is: 3.14159>
Nota: Per saperne di più su str.format(), fare riferimento a funzione format() in Python
3. Comprendere la f-string di Python
PEP 498 ha introdotto un nuovo meccanismo di formattazione delle stringhe noto come Literal String Interpolation o più comunemente come Corde in Fa (a causa del carattere f iniziale che precede la stringa letterale). L'idea alla base di f-String in Python è rendere più semplice l'interpolazione delle stringhe.
Per creare una stringa f in Python, anteporre alla stringa la lettera f. La stringa stessa può essere formattata più o meno nello stesso modo in cui lo faresti con stra. formato() . Le stringhe F forniscono un modo conciso e conveniente per incorporare espressioni Python all'interno di stringhe letterali per la formattazione.
Formattazione delle stringhe con F-Strings
In questo codice, la f-string fIl mio nome è {nome}. viene utilizzato per interpolare il valore della variabile name nella stringa.
Python3
name>=> 'Ele'> print>(f>'My name is {name}.'>)> |
rinominare una cartella linux
>
>Produzione
My name is Ele.>
Questa nuova sintassi di formattazione è molto potente e semplice. Puoi anche inserire espressioni Python arbitrarie e puoi persino eseguire operazioni aritmetiche al suo interno.
Operazioni aritmetiche utilizzando stringhe F
In questo codice, la f-string f Ha detto che la sua età è {2 * (a + b)}. viene utilizzato per interpolare il risultato dell'espressione 2 * (a + b) nella stringa.
Python3
a>=> 5> b>=> 10> print>(f>'He said his age is {2 * (a + b)}.'>)> |
>
>Produzione
He said his age is 30.>
Possiamo anche usare lambda espressioni dentro corda F formattazione.
Espressioni Lambda che utilizzano stringhe F
In questo codice, una funzione lambda anonima viene definita utilizzando lambda x: x*2. Questa funzione lambda accetta un argomento x e restituisce il suo doppio.
Python3
print>(f>'He said his age is {(lambda x: x*2)(3)}'>)> |
>
>Produzione
He said his age is 6>
Precisione del float nel metodo f-String
In questo codice, la formattazione f-string viene utilizzata per interpolare il valore della variabile num nella stringa.
Syntax : {value:{width}.{precision}}> Python3
num>=> 3.14159> print>(f>'The valueof pi is: {num:{1}.{5}}'>)> |
>
>Produzione
The valueof pi is: 3.1416>
Nota: Per saperne di più sulle stringhe F, fare riferimento a f-stringhe in Python
4. Classe modello di stringa Python
Nel modulo String, Template Class ci consente di creare una sintassi semplificata per la specifica dell'output. Il formato utilizza nomi di segnaposto formati da $ con Python valido identificatori (caratteri alfanumerici e trattini bassi). Circondare il segnaposto tra parentesi graffe consente di seguirlo con più lettere alfanumeriche senza spazi intermedi. Scrivendo $$ si crea un singolo $ con escape:
Formattazione di stringhe Python utilizzando la classe template
Questo codice importa la classe Template dal modulo string. La classe Template ci consente di creare una stringa modello con segnaposto che possono essere sostituiti con valori reali. Qui stiamo sostituendo i valori n1 e n2 al posto di n3 e n4 nella stringa n.
Python3
from> string>import> Template> n1>=> 'Hello'> n2>=> 'techcodeview.com'> n>=> Template(>'$n3 ! This is $n4.'>)> # and pass the parameters into the> # template string.> print>(n.substitute(n3>=>n1, n4>=>n2))> |
>
10 1 milione
>Produzione
Hello ! This is techcodeview.com.>
Nota: Per saperne di più sulla classe String Template, fare riferimento a Classe modello stringa in Python
5. Come formattare la stringa utilizzando il metodo center()
Il metodo center() è un metodo integrato nella classe str di Python che restituisce una nuova stringa centrata all'interno di una stringa di larghezza specificata.
Stringa di formattazione utilizzando il metodo center()
Questo codice restituisce un nuovo corda imbottito con spazi sui lati sinistro e destro.
Python3
string>=> 'GeeksForGeeks!'> width>=> 30> centered_string>=> string.center(width)> print>(centered_string)> |
>
>Produzione
GeeksForGeeks!>
Stringa di formato Python: % vs. .format vs. f-string letterale
corde in f sono più veloci e migliori di entrambi %-formattazione E str.format() . Le espressioni f-string vengono valutate in fase di esecuzione e possiamo anche incorporare espressioni all'interno di f-string, utilizzando una sintassi molto semplice e facile.
Le espressioni all'interno delle parentesi graffe vengono valutate in runtime e quindi assemblate con la parte stringa della stringa f e quindi viene restituita la stringa finale.
Nota: Usa Template String se la stringa è una stringa fornita dall'utente Altrimenti usa f-Strings se sei su Python 3.6+ e. format() se non lo sei.
Abbiamo trattato tutti e 5 i modi di formattazione delle stringhe in Python. Esistono molti casi d'uso ed esempi per ciascun metodo. Abbiamo anche confrontato questi metodi per scoprire quale è più efficiente da utilizzare nei progetti della vita reale.
Letture simili:
- Formattazione delle stringhe in Python
- Come utilizzare i formattatori di stringhe in Python
- Come formattare una stringa utilizzando un dizionario in Python