logo

Python-merkkijonomuotoilu – kuinka muotoilla merkkijono?

Merkkijonojen muotoilun avulla voit luoda dynaamisia merkkijonoja yhdistämällä muuttujia ja arvoja. Tässä artikkelissa käsittelemme viittä tapaa muotoilla merkkijono.

Opit erilaisia ​​merkkijonomuotoilumenetelmiä esimerkkien avulla ymmärtääksesi paremmin. Katsotaanpa niitä nyt!



Kuinka muotoilla merkkijonoja Pythonissa

On viisi eri tapaa muotoilla merkkijonoa Python

  • Muotoilu % Operatorilla.
  • Muotoilu format()-merkkijonomenetelmällä.
  • Muotoilu merkkijonoliteraaaleilla, joita kutsutaan f-merkkijonoiksi.
  • Muotoilu merkkijonomalliluokalla
  • Muotoilu center()-merkkijonomenetelmällä.

Näemme siis kaikki edellä mainitut tavat, ja keskitymme myös siihen, mikä merkkijonojen muotoilustrategia on paras.

1. Kuinka muotoilla merkkijono käyttämällä % Operator -toimintoa

Se on vanhin merkkijonomuotoilumenetelmä. Tässä käytämme moduloa % operaattori . Modulo % tunnetaan myös merkkijonomuotoiluoperaattorina.



Python-muotomerkkijono %-operaattorilla

Lausekkeessa Mangy, ryppyinen kulkukoira %s ahmi % 'kiireessä', merkkijonon %s paikkamerkki korvataan arvolla 'kiireessä'.

Python 3

Näyttelijä Rekha






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

>

>

Lähtö

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

Useiden merkkijonojen lisääminen modulo-operaattorilla

Tässä lisäämme useita merkkijonoja %-operaattorilla.

Python 3




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

>

>

Lähtö

Misha walked and looked around>

Tarkkuuskäsittely Pythonissa %-operaattorilla

Liukulukuluvut käyttävät muotoa %a.bf . Tässä, a olisi merkkijonossa olevien numeroiden vähimmäismäärä; nämä voivat olla täytetty välilyönnillä, jos kokonaisluvussa ei ole näin monta numeroa.

Lähellä tätä, bf ilmaisee kuinka monta numeroa näytetään desimaalipilkun jälkeen.

Tässä koodissa merkkijono 'pi:n arvo on: %5.4f' sisältää muotomääritteen %5.4f. %5.4f-muotomääritteen avulla muotoillaan liukuluku, jonka leveys on vähintään 5 ja jonka tarkkuus on 4 desimaalia.

Python 3




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

>

>

Lähtö

The value of pi is: 3.1416>

Useita muotojen muunnostyyppejä

Annetussa koodissa Python-muotoilumerkkijono muunnetaan kokonaisluvuksi ja liukulukuksi %d,%f:llä.

Python 3




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

>

>

Lähtö

Variable as integer = 12 Variable as float = 12.000000>

Huomautus: Lisätietoja %-muotoilusta on kohdassa Merkkijonojen muotoilu Pythonissa käyttämällä %

2. Kuinka muotoilla merkkijono käyttämällä format()-menetelmää

Format()-menetelmä otettiin käyttöön Python3:n kanssa monimutkaisten merkkijonojen muotoilun tehokkaampaan käsittelyyn.

Muotoilijat lisäävät merkkijonoon yhden tai useamman korvaavan kentän ja paikkamerkit, jotka on määritetty kihara aaltosulkeilla { } ja kutsuvat str.format() . Arvo, jonka haluamme laittaa paikkamerkkiin ja ketjuttaa muotofunktioon parametreina välitetyn merkkijonon kanssa.

Syntaksi: 'Joukku tähän {} sitten myös {}'.format('something1','something2')

Python-merkkijonon muotoilu format()-menetelmällä

Tämä koodi käyttää {}-merkkiä paikkamerkkinä, ja sitten olemme kutsuneet.format()-metodin 'yhtä' kuin paikkamerkki.

Python 3




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

>

kuinka nimetän uudelleen hakemiston linux
>

Lähtö

We all are equal.>

Indeksipohjainen lisäys

Tässä koodissa käytetään aaltosulkuja {} indekseillä merkkijonossa {2} {1} {0} osoittamaan paikat, joihin vastaavat arvot sijoitetaan.

Python 3




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

>

>

Lähtö

Read the directions>

Lisää objekti määrittämällä avainsanoja

Tässä koodissa aaltosulkuja {}, joissa on nimetyt paikkamerkit ({a}, {b}, {c}), käytetään merkkijonossa 'a: {a}, b: {b}, c: {c}' osoittamaan paikat, joihin vastaavat nimetyt argumentit sijoitetaan.

"primin algoritmi"

Python 3




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

>

>

Lähtö

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

Käytä lisätyt objektit uudelleen

Tässä koodissa aaltosulkeet {} ja nimetyt paikkamerkit ({p}) ovat käytössä merkkijonossa 'Ensimmäinen {p} oli kunnossa, mutta {p} {p} oli kova'. argumentti p asetetaan.

Python 3




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

>

>

Lähtö

The first second was alright, but the second second was tough.>

Float Precision .format()-menetelmällä

Syntaksi: {[indeksi]:[leveys][.tarkkuus][tyyppi]}

Tyyppiä voidaan käyttää muotokoodien kanssa:

  • 'd' kokonaisluvuille
  • 'f' liukulukuille
  • 'b' binääriluvuille
  • 'o' oktaaliluvuille
  • 'x' oktaalisille heksadesimaaliluvuille
  • 's' merkkijonoa varten
  • 'Se on' liukulukulle eksponenttimuodossa

Esimerkki:

Molemmat koodit tekevät merkkijonomuotoilua. Ensimmäinen merkkijono muotoillaan '%':lla ja toinen merkkijono muotoilla .format().

Python 3




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

>

>

Lähtö

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

Huomautus: Saat lisätietoja str.format(:sta) kohdasta format()-funktio Pythonissa

3. Pythonin f-merkkijonon ymmärtäminen

PEP 498 esitteli uuden merkkijonojen muotoilumekanismin, joka tunnetaan nimellä Literal String Interpolation tai yleisemmin nimellä F-kielet (johtuen merkkijonoliteraalia edeltävästä f-merkistä). Pythonin f-Stringin ideana on tehdä merkkijonojen interpoloinnista yksinkertaisempi.

Jos haluat luoda f-merkkijonon Pythonissa, liitä merkkijonon eteen kirjain f. Itse merkkijono voidaan muotoilla samalla tavalla kuin muotoilisit str. muoto() . F-merkkijonot tarjoavat tiiviin ja kätevän tavan upottaa Python-lausekkeita muotoilua varten merkkijonoliteraaleihin.

Merkkijonojen muotoilu F-Stringsillä

Tässä koodissa f-merkkijono fNimeni on {name}. käytetään interpoloimaan nimimuuttujan arvo merkkijonoon.

Python 3




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

>

>

Lähtö

My name is Ele.>

Tämä uusi muotoilusyntaksi on erittäin tehokas ja helppo. Voit myös lisätä mielivaltaisia ​​Python-lausekkeita ja tehdä siihen jopa aritmeettisia operaatioita.

Aritmeettiset operaatiot F-merkkijonoilla

Tässä koodissa f-merkkijono f Hän sanoi ikänsä {2 * (a + b)}. käytetään interpoloimaan lausekkeen 2 * (a + b) tulos merkkijonoon.

Python 3




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

>

>

Lähtö

css kommentti
He said his age is 30.>

Voimme myös käyttää lambda ilmaisuja sisään f-merkkijono muotoilu.

Lambda-lausekkeet F-merkkijonoilla

Tässä koodissa anonyymi lambda-funktio määritellään käyttämällä lambda x:tä: x*2. Tämä lambda-funktio ottaa argumentin x ja palauttaa sen double.

Python 3




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

>

>

Lähtö

He said his age is 6>

Float-tarkkuus f-String-menetelmässä

Tässä koodissa f-string-muotoilua käytetään interpoloimaan num-muuttujan arvo merkkijonoon.

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

Python 3




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

>

>

Lähtö

The valueof pi is: 3.1416>

Huomautus: Lisätietoja f-merkkijonoista on kohdassa f-merkkijonot Pythonissa

4. Python-merkkijonomalliluokka

String-moduulissa Template Class mahdollistaa yksinkertaistetun syntaksin luomisen tulosten määrittelyyn. Muoto käyttää paikkamerkkinimiä, jotka $ muodostaa kelvollisilla Pythonilla tunnisteet (aakkosnumeeriset merkit ja alaviivat). Paikkamerkkien ympäröiminen aaltosulkeilla mahdollistaa sen jälkeen enemmän aakkosnumeerisia kirjaimia ilman välilyöntejä. Kirjoittaminen $$ luo yhden koodinvaihtomerkin $:

Python-merkkijonon muotoilu malliluokan avulla

Tämä koodi tuo Template-luokan merkkijonomoduulista. Malli-luokan avulla voimme luoda mallimerkkijonon, jossa on paikkamerkit, jotka voidaan korvata todellisilla arvoilla. Tässä korvaamme arvot n1 ja n2 n3:n ja n4:n tilalle merkkijonossa 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))>

>

>

Lähtö

Hello ! This is techcodeview.com.>

Huomautus: Jos haluat lisätietoja String Template -luokasta, katso Merkkijonomalliluokka Pythonissa

5. Kuinka muotoilla merkkijono käyttämällä center()-menetelmää

center()-menetelmä on Pythonin str-luokan sisäänrakennettu menetelmä, joka palauttaa uuden merkkijonon, joka on keskitetty tietynleveiseen merkkijonoon.

kuinka nimetän uudelleen hakemiston linux

Muotoile merkkijono center()-menetelmällä

Tämä koodi palauttaa uuden merkkijono pehmustettu välilyönneillä vasemmalla ja oikealla puolella.

Python 3




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

>

>

Lähtö

 GeeksForGeeks!>

Python-muotomerkkijono: % vs. .format vs. f-merkkijono

f-merkkijonot ovat nopeampia ja parempia kuin molemmat % -muotoilu ja str.format() . f-merkkijonolausekkeet arvioidaan ajon aikana, ja voimme myös upottaa lausekkeita f-merkkijonon sisään käyttämällä hyvin yksinkertaista ja helppoa syntaksia.

Aaltosulkeiden sisällä olevat lausekkeet arvioidaan ajon aikana ja yhdistetään sitten f-merkkijonon merkkijonoosaan ja sitten palautetaan lopullinen merkkijono.

Huomautus: Käytä Mallimerkkijonoa, jos merkkijono on käyttäjän toimittama merkkijono. Muu Käytä f-Stringsiä, jos käytössäsi on Python 3.6+ ja. format() -menetelmää, jos et ole.

Olemme käsitelleet kaikki viisi merkkijonomuotoilutapaa Pythonissa. Jokaiselle menetelmälle on monia käyttötapauksia ja esimerkkejä. Vertailimme myös näitä menetelmiä löytääksemme, mikä niistä on tehokkain käytettäväksi tosielämän projekteissa.

Samanlaisia ​​lukemia:

  • Merkkijonojen muotoilu Pythonissa
  • Kuinka käyttää merkkijonomuotoilijoita Pythonissa
  • Kuinka muotoilla merkkijono Pythonin sanakirjan avulla