Formatarea șirurilor vă permite să creați șiruri dinamice prin combinarea variabilelor și a valorilor. În acest articol, vom discuta despre 5 moduri de a formata un șir.
Veți învăța diferite metode de formatare a șirurilor de caractere cu exemple pentru o mai bună înțelegere. Să ne uităm la ele acum!
Cum se formatează șirurile în Python
Există cinci moduri diferite de a efectua formatarea șirurilor Piton
- Formatare cu % Operator.
- Formatarea cu metoda șirurilor format().
- Formatarea cu literale șir, numite f-strings.
- Formatarea cu String Template Class
- Formatarea cu metoda șirurilor center().
Așadar, vom vedea integral modalitățile menționate mai sus și ne vom concentra, de asemenea, asupra strategiei de formatare a șirurilor care este cea mai bună.
1. Cum se formatează șirul folosind % Operator
Este cea mai veche metodă de formatare a șirurilor. Aici folosim modulo % operator . Modulul % este cunoscut și ca operator de formatare a șirurilor.
Format Python șir folosind operatorul %
În expresia Câinele fără stăpân %s înghițit % „în grabă”, substituentul %s din șir este înlocuit cu valoarea „în grabă”.
Python3
linie nouă python
print>(>'The mangy, scrawny stray dog %s gobbled down'> %>'hurriedly'> +> >'the grain-free, organic dog food.'>)> |
>
>Ieșire
The mangy, scrawny stray dog hurriedly gobbled downthe grain-free, organic dog food.>
Injectarea mai multor șiruri folosind operatorul modulo
Aici inserăm mai multe șiruri de caractere cu operatorul %.
Python3
x>=> 'looked'> print>(>'Misha %s and %s around'>%>(>'walked'>,x))> |
>
>Ieșire
Misha walked and looked around>
Manipulare de precizie în Python folosind operatorul %
Numerele în virgulă mobilă folosesc formatul %a.bf . Aici, A ar fi numărul minim de cifre care trebuie prezente în șir; acestea ar putea fi umplute cu spații albe dacă întregul număr nu are atât de multe cifre.
Aproape de asta, bf reprezintă câte cifre urmează să fie afișate după virgulă zecimală.
În acest cod, șirul „Valoarea lui pi este: %5.4f” conține un specificator de format %5.4f. Specificatorul de format %5.4f este folosit pentru a formata un număr în virgulă mobilă cu o lățime minimă de 5 și o precizie de 4 zecimale.
Python3
print>(>'The value of pi is: %5.4f'> %>(>3.141592>))> |
>
>Ieșire
The value of pi is: 3.1416>
Tipuri de conversie în format multiple
În codul dat, șirul de formatare Python este convertit în întreg și virgulă mobilă cu %d,%f.
Python3
variable>=> 12> string>=> 'Variable as integer>=> %>d
> Variable as>float> => %>f'>%>(variable, variable)> print> (string)> |
>
>Ieșire
Variable as integer = 12 Variable as float = 12.000000>
Notă: Pentru a afla mai multe despre formatarea %, consultați Formatarea șirurilor în Python folosind %
2. Cum se formatează șirul folosind metoda format().
Metoda Format(). a fost introdus cu Python3 pentru a gestiona mai eficient formatarea șirurilor complexe.
Formatatoarele funcționează introducând unul sau mai multe câmpuri de înlocuire și substituenți definiți de o pereche de acolade { } într-un șir și apelând str.format() . Valoarea pe care dorim să o punem în substituenți și să o concatenăm cu șirul trecut ca parametri în funcția de format.
Sintaxă: „Sir aici {} apoi și {}’.format(„ceva1′, „ceva2”)
Formatarea String Python folosind metoda format().
Acest cod folosește {} ca substituent și apoi am numit metoda.format() pe „egal” cu substituent.
Python3
bolding în css
print>(>'We all are {}.'>.>format>(>'equal'>))> |
>
>Ieșire
We all are equal.>
Inserare bazată pe index
În acest cod, acolade {} cu indici sunt folosite în șirul „{2} {1} {0}” pentru a indica pozițiile în care vor fi plasate valorile corespunzătoare.
Python3
print>(>'{2} {1} {0}'>.>format>(>'directions'>,> >'the'>,>'Read'>))> |
>
>Ieșire
Read the directions>
Inserați obiectul prin atribuirea de cuvinte cheie
În acest cod, acolade {} cu substituenți numiți ({a}, {b}, {c}) sunt folosite în șirul „a: {a}, b: {b}, c: {c}” pentru a indica pozițiile în care vor fi plasate argumentele numite corespunzătoare.
Python3
print>(>'a: {a}, b: {b}, c: {c}'>.>format>(a>=> 1>,> >b>=> 'Two'>,> >c>=> 12.3>))> |
>
>Ieșire
structuri de date java
a: 1, b: Two, c: 12.3>
Reutilizați obiectele introduse
În acest cod, acolade {} cu substituenți denumiti ({p}) sunt folosite în șirul „Primul {p} a fost în regulă, dar {p} {p} a fost greu pentru a indica pozițiile în care a fost denumit argumentul p va fi plasat.
Python3
print>(> >'The first {p} was alright, but the {p} {p} was tough.'>.>format>(p>=>'second'>))> |
>
>Ieșire
The first second was alright, but the second second was tough.>
Float Precision cu metoda.format().
Sintaxă: {[index]:[lățime][.precizie][tip]}
Tipul poate fi utilizat cu coduri de format:
- ‘d’ pentru numere întregi
- ‘f’ pentru numere în virgulă mobilă
- ‘b’ pentru numere binare
- 'O' pentru numere octale
- 'X' pentru numere hexazecimale octale
- ‘s’ pentru sfoară
- 'Este' pentru virgulă mobilă într-un format de exponent
Exemplu:
Ambele coduri fac formatare șir. Primul șir este formatat cu „%”, iar al doilea șir este formatat cu .format().
Python3
print>(>'The valueof pi is: %1.5f'> %>3.141592>)> print>(>'The valueof pi is: {0:1.5f}'>.>format>(>3.141592>))> |
>
>Ieșire
The valueof pi is: 3.14159 The valueof pi is: 3.14159>
Notă: Pentru a afla mai multe despre str.format(), consultați funcția format() în Python
3. Înțelegerea Python f-string
PEP 498 a introdus un nou mecanism de formatare a șirurilor cunoscut sub numele de Interpolare literală a șirurilor sau mai frecvent ca F-strings (din cauza caracterului f principal care precede literalul șir). Ideea din spatele f-String în Python este de a simplifica interpolarea șirurilor.
Pentru a crea un șir f în Python, prefixați șirul cu litera f. Șirul în sine poate fi formatat în același mod în care ați face-o cu dvs str. format() . F-strings oferă o modalitate concisă și convenabilă de a încorpora expresii Python în literalele șir pentru formatare.
Formatarea șirurilor de caractere cu șiruri F
În acest cod, șirul f fNumele meu este {nume}. este folosit pentru a interpola valoarea variabilei nume în șir.
Python3
shehzad poonawala
name>=> 'Ele'> print>(f>'My name is {name}.'>)> |
>
>Ieșire
My name is Ele.>
Această nouă sintaxă de formatare este foarte puternică și ușoară. De asemenea, puteți introduce expresii Python arbitrare și puteți chiar să faceți operații aritmetice în el.
Operații aritmetice folosind șiruri F
În acest cod, șirul f f A spus că vârsta lui este {2 * (a + b)}. este folosit pentru a interpola rezultatul expresiei 2 * (a + b) în șir.
Python3
a>=> 5> b>=> 10> print>(f>'He said his age is {2 * (a + b)}.'>)> |
>
>Ieșire
He said his age is 30.>
Putem folosi, de asemenea lambda expresii în f-string formatare.
Expresii Lambda folosind șiruri F
În acest cod, o funcție lambda anonimă este definită folosind lambda x: x*2. Această funcție lambda ia un argument x și returnează dublu.
Python3
print>(f>'He said his age is {(lambda x: x*2)(3)}'>)> |
>
>Ieșire
He said his age is 6>
Precizie float în metoda f-String
În acest cod, formatarea f-string este utilizată pentru a interpola valoarea variabilei num în șir.
Syntax : {value:{width}.{precision}}> Python3
num>=> 3.14159> print>(f>'The valueof pi is: {num:{1}.{5}}'>)> |
>
>Ieșire
The valueof pi is: 3.1416>
Notă: Pentru a afla mai multe despre f-strings, consultați șiruri f în Python
4. Clasa șablon Python String
În modulul String, Template Class ne permite să creăm o sintaxă simplificată pentru specificarea ieșirii. Formatul folosește nume de substituenți formate din $ cu Python valid identificatori (caractere alfanumerice și liniuțe de subliniere). Înconjurarea substituentului cu acolade permite ca acesta să fie urmat de mai multe litere alfanumerice, fără spații intermediare. Scrierea $$ creează un singur $ escape:
Formatarea șirului Python folosind clasa șablon
Acest cod importă clasa Template din modulul șir. Clasa Template ne permite să creăm un șir de șablon cu substituenți care pot fi înlocuiți cu valori reale. Aici înlocuim valorile n1 și n2 în locul lui n3 și n4 în șirul n.
Python3
bolding în css
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))> |
>
>Ieșire
Hello ! This is techcodeview.com.>
Notă: Pentru a afla mai multe despre clasa String Template, consultați Clasa șablon șir în Python
5. Cum se formatează șirul folosind metoda center().
Metoda center() este o metodă încorporată în clasa str a lui Python care returnează un șir nou care este centrat într-un șir de o lățime specificată.
Formatarea șirului folosind metoda center().
Acest cod returnează un nou şir captusita cu spatii pe partea stanga si dreapta.
Python3
string>=> 'GeeksForGeeks!'> width>=> 30> centered_string>=> string.center(width)> print>(centered_string)> |
>
>Ieșire
GeeksForGeeks!>
Șir de format Python: % vs. .format vs. literal f-string
corzi f sunt mai rapide și mai bune decât ambele %-formatare și str.format() . Expresiile f-strings sunt evaluate în timpul execuției și, de asemenea, putem încorpora expresii în interiorul f-string, folosind o sintaxă foarte simplă și ușoară.
Expresiile din interiorul acoladelor sunt evaluate în timpul de execuție și apoi puse împreună cu partea de șir a șirului f și apoi este returnat șirul final.
Notă: Folosiți Template String dacă șirul este un șir furnizat de utilizator. Altfel Folosiți f-Strings dacă sunteți pe Python 3.6+ și. format() dacă nu sunteți.
Am acoperit toate cele 5 moduri de formatare a șirurilor în Python. Există multe cazuri de utilizare și exemple pentru fiecare metodă. De asemenea, am comparat aceste metode pentru a găsi care dintre ele este cel mai eficient de utilizat în proiectele din viața reală.
Citiri similare:
- Formatarea șirurilor în Python
- Cum să utilizați formatatoarele de șiruri în Python
- Cum se formatează un șir folosind un dicționar în Python