logo

Python eilutės formatavimas – kaip formatuoti eilutę?

Eilučių formatavimas leidžia kurti dinamines eilutes derinant kintamuosius ir reikšmes. Šiame straipsnyje aptarsime apie 5 būdus, kaip formatuoti eilutę.

Išmoksite įvairių eilučių formatavimo metodų su pavyzdžiais, kad geriau suprastumėte. Pažvelkime į juos dabar!



Kaip formatuoti eilutes Python

Yra penki skirtingi eilutės formatavimo būdai Python

  • Formatavimas naudojant % operatorių.
  • Formatavimas naudojant format() eilutės metodą.
  • Formatavimas su eilučių literalais, vadinamais f-stygomis.
  • Formatavimas naudojant eilutės šablono klasę
  • Formatavimas naudojant center() eilutės metodą.

Taigi pamatysime aukščiau paminėtų būdų visumą, taip pat sutelksime dėmesį į tai, kuri eilutės formatavimo strategija yra geriausia.

1. Kaip suformatuoti eilutę naudojant % operatorių

Tai seniausias eilučių formatavimo būdas. Čia mes naudojame modulį % operatorius . Modulas % taip pat žinomas kaip eilutės formatavimo operatorius.



Python formato eilutė naudojant % operatorių

Išraiškoje Mėlytas, rausvas valkataujantis šuo %s suvalgė % 'skubiai', %s vietos rezervavimo vieta eilutėje pakeičiama reikšme 'skubiai'.

Python3

java kalbos interviu klausimai






print>(>'The mangy, scrawny stray dog %s gobbled down'> %>'hurriedly'> +> >'the grain-free, organic dog food.'>)>

>

>

Išvestis

The mangy, scrawny stray dog hurriedly gobbled downthe grain-free, organic dog food.>

Kelių eilučių įvedimas naudojant modulo operatorių

Čia įterpiame kelias eilutes su % operatoriumi.

Python3




x>=> 'looked'> print>(>'Misha %s and %s around'>%>(>'walked'>,x))>

>

>

Išvestis

Misha walked and looked around>

Tikslus tvarkymas Python naudojant % operatorių

Slankaus kablelio skaičiai naudoja formatą %a.bf . Čia a būtų mažiausias skaitmenų skaičius, kuris turi būti eilutėje; jie gali būti užpildyti tarpais, jei sveikas skaičius neturi tiek daug skaitmenų.

Arti to, bf nurodo, kiek skaitmenų turi būti rodoma po kablelio.

Šiame kode eilutėje „pi reikšmė yra: %5.4f“ yra formato specifikacija %5.4f. Formato specifikacija %5.4f naudojama formatuoti slankiojo kablelio skaičių, kurio minimalus plotis yra 5 ir 4 skaitmenų po kablelio tikslumas.

Python3




print>(>'The value of pi is: %5.4f'> %>(>3.141592>))>

>

>

Išvestis

The value of pi is: 3.1416>

Kelių formatų konvertavimo tipai

Pateiktame kode formatavimo eilutė Python konvertuojama į sveikąjį skaičių ir slankiojo kablelio su %d,%f.

Python3




variable>=> 12> string>=> 'Variable as integer>=> %>d > Variable as>float> => %>f'>%>(variable, variable)> print> (string)>

>

>

Išvestis

Variable as integer = 12 Variable as float = 12.000000>

Pastaba: Norėdami sužinoti daugiau apie %-formatavimą, žr Eilučių formatavimas Python naudojant %

kaip pakeisti žymeklį c

2. Kaip suformatuoti eilutę naudojant format() metodą

Format() metodas buvo pristatytas kartu su Python3, kad būtų galima efektyviau tvarkyti sudėtingų eilučių formatavimą.

Formatuotojai veikia į eilutę įterpdami vieną ar daugiau pakaitinių laukų ir vietos rezervavimo ženklų, apibrėžtų riestiniais skliaustais { }, ir iškviesdami str.format() . Reikšmė, kurią norime įdėti į vietos rezervavimo ženklus ir sujungti su eilute, perduodama kaip parametrai į formatavimo funkciją.

Sintaksė: 'Eilutė čia {}, tada taip pat {}'.format('something1','something2')

Python eilutės formatavimas naudojant format() metodą

Šiame kode kaip rezervuota vieta naudojama {}, o tada mes iškvietėme.format() metodą „lygus“ vietos rezervavimo ženklui.

Python3




print>(>'We all are {}.'>.>format>(>'equal'>))>

>

>

Išvestis

We all are equal.>

Įterpimas pagal indeksą

Šiame kode eilutėje „{2} {1} {0}“ naudojami riestiniai skliaustai {} su indeksais, nurodant vietas, kuriose bus dedamos atitinkamos reikšmės.

Python3




print>(>'{2} {1} {0}'>.>format>(>'directions'>,> >'the'>,>'Read'>))>

>

>

Išvestis

Read the directions>

Įterpkite objektą priskirdami raktinius žodžius

Šiame kode eilutėje „a: {a}, b: {b}, c: {c}“ naudojami riestiniai skliaustai {} su įvardytais vietos rezervavimo ženklais ({a}, {b}, {c}). pozicijos, kuriose bus dedami atitinkami įvardyti argumentai.

Python3




print>(>'a: {a}, b: {b}, c: {c}'>.>format>(a>=> 1>,> >b>=> 'Two'>,> >c>=> 12.3>))>

>

>

Išvestis

a: 1, b: Two, c: 12.3>

Pakartotinai naudokite įdėtus objektus

Šiame kode eilutėje „Pirmasis {p} buvo gerai, bet {p} {p} buvo sunkus“ naudojami riestiniai skliaustai {} su įvardytais vietos rezervavimo ženklais ({p}), kad nurodytų vietas, kuriose nurodytas atitinkamas pavadinimas bus pateiktas argumentas p.

Python3




print>(> >'The first {p} was alright, but the {p} {p} was tough.'>.>format>(p>=>'second'>))>

>

>

Išvestis

tinklo architektūra
The first second was alright, but the second second was tough.>

Float Precision su .format() metodu

Sintaksė: {[indeksas]:[plotis][.tikslumas][tipas]}

Tipas gali būti naudojamas su formato kodais:

  • 'd' sveikiesiems skaičiams
  • 'f' slankiojo kablelio skaičiams
  • 'b' dvejetainiams skaičiams
  • 'o' aštuntiesiems skaičiams
  • 'x' aštuntainiams šešioliktainiams skaičiams
  • 's' stygai
  • 'Tai yra' slankiajam kableliui eksponento formatu

Pavyzdys:

Abu kodai formatuoja eilutes. Pirmoji eilutė suformatuota „%“, o antroji eilutė suformatuota naudojant .format().

Python3




print>(>'The valueof pi is: %1.5f'> %>3.141592>)> print>(>'The valueof pi is: {0:1.5f}'>.>format>(>3.141592>))>

>

>

Išvestis

The valueof pi is: 3.14159 The valueof pi is: 3.14159>

Pastaba: Norėdami sužinoti daugiau apie str.format(), žr format() funkcija Python

3. Python f-stygos supratimas

PEP 498 pristatė naują eilučių formatavimo mechanizmą, žinomą kaip Literal String Interpolation arba dažniau kaip F formos stygos (dėl priekinio f simbolio, esančio prieš eilutės literalą). „Python“ f-String idėja yra supaprastinti eilučių interpoliaciją.

Norėdami sukurti f eilutę naudodami Python, prieš eilutę įrašykite raidę f. Pati eilutę galima suformatuoti taip pat, kaip ir su g. formatas () . F-stygos suteikia glaustą ir patogų būdą įterpti Python išraiškas į eilučių literalius formatavimui.

Stygų formatavimas su F-stygomis

Šiame kode f eilutė fMano vardas yra {name}. naudojamas vardo kintamojo reikšmei interpoliuoti į eilutę.

Python3




name>=> 'Ele'> print>(f>'My name is {name}.'>)>

>

>

Išvestis

My name is Ele.>

Ši nauja formatavimo sintaksė yra labai galinga ir paprasta. Taip pat galite įterpti savavališkas Python išraiškas ir netgi atlikti aritmetines operacijas.

Aritmetiniai veiksmai naudojant F eilutes

Šiame kode f eilutė f Jis pasakė, kad jo amžius yra {2 * (a + b)}. naudojamas interpoliuoti išraiškos 2 * (a + b) rezultatą į eilutę.

Python3




a>=> 5> b>=> 10> print>(f>'He said his age is {2 * (a + b)}.'>)>

>

>

Išvestis

He said his age is 30.>

Taip pat galime naudoti lambda išraiškos in f eilutė formatavimas.

Lambda išraiškos naudojant F eilutes

Šiame kode anoniminė lambda funkcija apibrėžiama naudojant lambda x: x*2. Ši lambda funkcija paima argumentą x ir grąžina jo dvigubą.

Python3


Python __name__



print>(f>'He said his age is {(lambda x: x*2)(3)}'>)>

>

>

Išvestis

He said his age is 6>

Plūdės tikslumas naudojant f-stygų metodą

Šiame kode f-string formatavimas naudojamas kintamojo num reikšmei interpoliuoti į eilutę.

  Syntax  : {value:{width}.{precision}}>

Python3




num>=> 3.14159> print>(f>'The valueof pi is: {num:{1}.{5}}'>)>

>

>

Išvestis

The valueof pi is: 3.1416>

Pastaba: Norėdami sužinoti daugiau apie f eilutes, žr f-stygos Python

4. Python String šablono klasė

Styginių modulyje šablono klasė leidžia sukurti supaprastintą išvesties specifikacijos sintaksę. Formatas naudoja vietos rezervavimo pavadinimus, sudarytus iš $ su galiojančiu Python identifikatoriai (raidiniai ir skaitiniai simboliai ir apatiniai brūkšniai). Vietos žymeklį apjuosus skliaustais, po jo galima rašyti daugiau raidžių ir skaičių raidžių be tarpų. Rašant $$ sukuriamas vienas išbrauktas $:

Python eilutės formatavimas naudojant šablonų klasę

Šis kodas importuoja šablono klasę iš eilutės modulio. Šablonų klasė leidžia sukurti šablono eilutę su vietos rezervavimo ženklais, kuriuos galima pakeisti tikrosiomis reikšmėmis. Čia mes pakeičiame reikšmes n1 ir n2 vietoje n3 ir n4 eilutėje n.

kaip pakeisti žymeklį c

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))>

>

>

Išvestis

Hello ! This is techcodeview.com.>

Pastaba: Norėdami sužinoti daugiau apie klasę String Template, žr Styginių šablonų klasė Python

5. Kaip suformatuoti eilutę naudojant center() metodą

Metodas centre () yra integruotas metodas Python str klasėje, kuris grąžina naują eilutę, kurios centre yra nurodyto pločio eilutė.

Formatuoti eilutę naudojant center() metodą

Šis kodas grąžina naują styga paminkštintas tarpais kairėje ir dešinėje pusėse.

Python3




string>=> 'GeeksForGeeks!'> width>=> 30> centered_string>=> string.center(width)> print>(centered_string)>

>

>

Išvestis

 GeeksForGeeks!>

Python formato eilutė: %, palyginti su .formatu ir f-string literatu

f stygos yra greitesni ir geresni už abu %-formatavimas ir str.format() . f-string išraiškos įvertinamos vykdymo metu, taip pat galime įterpti išraiškas į f eilutę, naudodami labai paprastą ir lengvą sintaksę.

Skliaustuose esančios išraiškos įvertinamos vykdymo metu, tada sujungiamos su f eilutės eilutės dalimi, o tada grąžinama paskutinė eilutė.

Pastaba: Naudokite šablono eilutę, jei eilutė yra vartotojo pateikta eilutė. Kitaip naudokite f-Strings, jei naudojate Python 3.6+ ir. format() metodą, jei nesate.

Apžvelgėme visus 5 eilučių formatavimo būdus Python. Kiekvienam metodui yra daug naudojimo atvejų ir pavyzdžių. Mes taip pat palyginome šiuos metodus, kad išsiaiškintume, kuris iš jų yra efektyviausias realaus gyvenimo projektams.

Panašūs skaitiniai:

  • Eilučių formatavimas Python
  • Kaip naudoti eilučių formatuotojus Python
  • Kaip suformatuoti eilutę naudojant Python žodyną