El format de cadena us permet crear cadenes dinàmiques combinant variables i valors. En aquest article, parlarem de 5 maneres de formatar una cadena.
Aprendràs diferents mètodes de format de cadenes amb exemples per a una millor comprensió. Mirem-los ara!
Com formatar cadenes en Python
Hi ha cinc maneres diferents de realitzar el format de cadena Python
- Format amb % Operator.
- Formatat amb el mètode de cadena format().
- Format amb literals de cadena, anomenats cadenes f.
- Format amb classe de plantilla de cadena
- Format amb el mètode de cadena center().
Així doncs, veurem la totalitat de les maneres esmentades anteriorment i també ens centrarem en quina estratègia de format de cadena és la millor.
1. Com formatar una cadena amb % Operator
És el mètode més antic de format de cadena. Aquí fem servir el mòdul % operador . El mòdul % també es coneix com a operador de format de cadena.
Cadena de format Python utilitzant l'operador %
A l'expressió El gos vagabund i esquitxat %s engolit % 'a pressa', el marcador de posició %s dins de la cadena es substitueix pel valor 'a pressa'.
Python 3
nbsp
print>(>'The mangy, scrawny stray dog %s gobbled down'> %>'hurriedly'> +> >'the grain-free, organic dog food.'>)> |
>
>Sortida
The mangy, scrawny stray dog hurriedly gobbled downthe grain-free, organic dog food.>
Injectant diverses cadenes utilitzant l'operador mòdul
Aquí estem inserint diverses cadenes amb l'operador %.
Python 3
x>=> 'looked'> print>(>'Misha %s and %s around'>%>(>'walked'>,x))> |
>
>Sortida
Misha walked and looked around>
Manipulació de precisió en Python mitjançant l'operador %
Els nombres de coma flotant utilitzen el format %a.bf . Aquí, a seria el nombre mínim de dígits presents a la cadena; aquests es poden omplir amb espais en blanc si el nombre sencer no té tants dígits.
A prop d'això, bf representa quants dígits s'han de mostrar després del punt decimal.
En aquest codi, la cadena 'El valor de pi és: %5.4f' conté un especificador de format %5.4f. L'especificador de format %5.4f s'utilitza per formatar un nombre de coma flotant amb una amplada mínima de 5 i una precisió de 4 decimals.
Python 3
print>(>'The value of pi is: %5.4f'> %>(>3.141592>))> |
>
>Sortida
The value of pi is: 3.1416>
Tipus de conversió de formats múltiples
Al codi donat, la cadena de format Python es converteix a Enter i coma flotant amb %d,%f.
Python 3
variable>=> 12> string>=> 'Variable as integer>=> %>d
> Variable as>float> => %>f'>%>(variable, variable)> print> (string)> |
>
>Sortida
Variable as integer = 12 Variable as float = 12.000000>
Nota: Per obtenir més informació sobre el format %, consulteu Format de cadena a Python utilitzant %
2. Com formatar una cadena mitjançant el mètode format().
Mètode Format(). es va introduir amb Python3 per gestionar el format de cadena complexa de manera més eficient.
Els formatadors funcionen introduint un o més camps de substitució i marcadors de posició definits per un parell de claus { } en una cadena i cridant al str.format() . El valor que volem posar als marcadors de posició i concatenar amb la cadena passat com a paràmetres a la funció de format.
Sintaxi: 'Encadena aquí {} i també {}'.format('alguna cosa1','alguna cosa2')
Formatar String Python mitjançant el mètode format().
Aquest codi està utilitzant {} com a marcador de posició i després hem cridat el mètode.format() a 'igual' al marcador de posició.
Python 3
print>(>'We all are {}.'>.>format>(>'equal'>))> |
jsp javatpoint
>
>Sortida
We all are equal.>
Inserció basada en índexs
En aquest codi, les claus {} amb índexs s'utilitzen dins de la cadena '{2} {1} {0}' per indicar les posicions on es col·locaran els valors corresponents.
Python 3
print>(>'{2} {1} {0}'>.>format>(>'directions'>,> >'the'>,>'Read'>))> |
>
>Sortida
afegint a la matriu java
Read the directions>
Insereix un objecte assignant paraules clau
En aquest codi, les claus {} amb marcadors de posició amb nom ({a}, {b}, {c}) s'utilitzen dins de la cadena 'a: {a}, b: {b}, c: {c}' per indicar les posicions on es col·locaran els corresponents arguments denominats.
Python 3
print>(>'a: {a}, b: {b}, c: {c}'>.>format>(a>=> 1>,> >b>=> 'Two'>,> >c>=> 12.3>))> |
>
>Sortida
a: 1, b: Two, c: 12.3>
Reutilitza els objectes inserits
En aquest codi, les claus {} amb marcadors de posició ({p}) s'utilitzen dins de la cadena 'La primera {p} estava bé, però la {p} {p} era difícil d'indicar les posicions on s'anomenava el corresponent'. es col·locarà l'argument p.
Python 3
print>(> >'The first {p} was alright, but the {p} {p} was tough.'>.>format>(p>=>'second'>))> |
>
>Sortida
The first second was alright, but the second second was tough.>
Float Precisió amb el mètode.format().
Sintaxi: {[índex]:[amplada][.precision][tipus]}
El tipus es pot utilitzar amb codis de format:
- 'd' per a nombres enters
- 'f' per a nombres de coma flotant
- 'b' per a nombres binaris
- 'O' per als nombres octals
- 'x' per a nombres hexadecimals octals
- 's' per corda
- 'És' per a coma flotant en format exponent
Exemple:
Tots dos codis fan format de cadena. La primera cadena té el format '%' i la segona cadena té el format .format().
Python 3
print>(>'The valueof pi is: %1.5f'> %>3.141592>)> print>(>'The valueof pi is: {0:1.5f}'>.>format>(>3.141592>))> |
>
>Sortida
The valueof pi is: 3.14159 The valueof pi is: 3.14159>
Nota: Per saber més sobre str.format(), consulteu format() a Python
3. Entendre la cadena f de Python
PEP 498 va introduir un nou mecanisme de format de cadenes conegut com a interpolació literal de cadenes o més comunament com a Cordes de fa (a causa del caràcter f inicial que precedeix el literal de cadena). La idea darrere de f-String a Python és simplificar la interpolació de cadenes.
Per crear una cadena f a Python, prefixeu la cadena amb la lletra f. La cadena en si es pot formatar de la mateixa manera que ho faríeu str. format () . Les cadenes F proporcionen una manera concisa i còmoda d'incrustar expressions de Python dins de literals de cadena per donar format.
Format de cadena amb F-Strings
En aquest codi, la cadena f fEl meu nom és {nom}. s'utilitza per interpolar el valor de la variable de nom a la cadena.
Python 3
name>=> 'Ele'> print>(f>'My name is {name}.'>)> |
>
>Sortida
My name is Ele.>
Aquesta nova sintaxi de format és molt potent i fàcil. També podeu inserir expressions Python arbitràries i fins i tot podeu fer-hi operacions aritmètiques.
Operacions aritmètiques amb cadenes F
En aquest codi, la cadena f f Va dir que la seva edat és {2 * (a + b)}. s'utilitza per interpolar el resultat de l'expressió 2 * (a + b) a la cadena.
Python 3
a>=> 5> b>=> 10> print>(f>'He said his age is {2 * (a + b)}.'>)> |
>
la roda de desplaçament no funciona
>Sortida
He said his age is 30.>
També podem utilitzar lambda expressions en corda f formatació.
Expressions Lambda utilitzant cadenes F
En aquest codi, es defineix una funció lambda anònima mitjançant lambda x: x*2. Aquesta funció lambda pren un argument x i retorna el seu doble.
Python 3
print>(f>'He said his age is {(lambda x: x*2)(3)}'>)> |
>
>Sortida
He said his age is 6>
Precisió flotant en el mètode f-String
En aquest codi, el format de cadena f s'utilitza per interpolar el valor de la variable num a la cadena.
Syntax : {value:{width}.{precision}}> Python 3
num>=> 3.14159> print>(f>'The valueof pi is: {num:{1}.{5}}'>)> |
>
>Sortida
The valueof pi is: 3.1416>
Nota: Per obtenir més informació sobre les cadenes f, consulteu cadenes f en Python
4. Classe de plantilla de cadena Python
Al mòdul String, Template Class ens permet crear una sintaxi simplificada per a l'especificació de sortida. El format utilitza noms de marcador de posició formats per $ amb Python vàlid identificadors (caràcters alfanumèrics i guions baixos). Envoltar el marcador de posició amb claus permet que sigui seguit de lletres més alfanumèriques sense espais intermedis. Si escriu $$, es crea un únic $ escapat:
Formatar String Python amb Template Class
Aquest codi importa la classe Template del mòdul de cadena. La classe Template ens permet crear una cadena de plantilla amb marcadors de posició que es poden substituir per valors reals. Aquí estem substituint els valors n1 i n2 en lloc de n3 i n4 a la cadena n.
Python 3
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))> |
>
>
jsp javatpointSortida
Hello ! This is techcodeview.com.>
Nota: Per obtenir més informació sobre la classe String Template, consulteu Classe de plantilla String en Python
5. Com formatar una cadena utilitzant el mètode center().
El mètode center() és un mètode integrat a la classe str de Python que retorna una cadena nova que està centrada dins d'una cadena d'una amplada especificada.
Formatatge de la cadena mitjançant el mètode center().
Aquest codi en retorna un nou corda encoixinat amb espais als costats esquerre i dret.
Python 3
string>=> 'GeeksForGeeks!'> width>=> 30> centered_string>=> string.center(width)> print>(centered_string)> |
>
>Sortida
GeeksForGeeks!>
Cadena de format Python: % vs. .format vs. literal de cadena f
cordes f són més ràpids i millors que tots dos %-format i str.format() . Les expressions f-strings s'avaluen en temps d'execució, i també podem incrustar expressions dins de f-string, utilitzant una sintaxi molt senzilla i senzilla.
Les expressions dins de les claus s'avaluen en temps d'execució i després s'ajunten amb la part de cadena de la cadena f i després es retorna la cadena final.
Nota: Utilitzeu Template String si la cadena és una cadena subministrada per l'usuari. Si no feu servir f-Strings si feu servir Python 3.6+, i. format() si no ho sou.
Hem tractat les 5 maneres de formatar cadenes a Python. Hi ha molts casos d'ús i exemples per a cada mètode. També hem comparat aquests mètodes per trobar quin és el més eficient per utilitzar-lo en projectes de la vida real.
Lectures similars:
- Format de cadena en Python
- Com utilitzar formatadors de cadena a Python
- Com formatar una cadena mitjançant un diccionari en Python