logo

Formatarea șirurilor Python - Cum se formatează șirul?

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