Python-merkkijonon interpolointi
Merkkijonojen interpolointi on prosessi, jossa muuttujien arvot korvataan merkkijonon paikkamerkeillä. Tarkastellaanpa esimerkkiä ymmärtääksesi sitä paremmin. Oletetaan, että haluat muuttaa merkkijonon arvoa joka kerta, kun tulostat merkkijonon, kuten haluat tulostaa tervetuloa geeks for geeks, jossa on käyttäjän nimen paikkamerkki. Sen sijaan, että luot joka kerta uuden merkkijonon, käytä merkkijonojen interpolointia Python voi auttaa sinua vaihtamaan käyttäjän nimen sisältävää paikkamerkkiä dynaamisesti.
% – Muotoilu
% – Muotoilu on Pythonin tarjoama ominaisuus, johon pääsee %-operaattorilla. Tämä on samanlainen kuin C:n printf-tyylifunktio.
Esimerkki: Muotoile merkkijonoa %-operaattorilla
Python 3
n1> => 'Hello'> n2> => 'techcodeview.com'> # for single substitution> print> (> 'Welcome to % s'> %> n2)> # for single and multiple substitutions()> # mandatory> print> (> '% s ! This is % s.'> %> (n1, n2))> |
Lähtö
Welcome to techcodeview.com Hello ! This is techcodeview.com.
Oletetaan, että se on vain monimutkainen versio. Silti voimme käyttää sitä, jos meillä on paljon muuttujia korvattavaksi merkkijonossa, koska emme aina halua käyttää (merkkijono + muuttuja + merkkijono + muuttuja + muuttuja + merkkijono) tätä esitystapaa. Joten tähän tarkoitukseen voimme käyttää %-muotoilua.
Huomautus: Lisätietoja %-muotoilusta on kohdassa Merkkijonojen muotoilu Pythonissa käyttämällä %
Str.format()
str.format() toimii lisäämällä merkkijonoon yhden tai useamman korvaavan kentän ja paikkamerkit, jotka on määritelty kihara aaltosulkeilla { }. Arvo, jonka haluamme laittaa paikkamerkkiin ja ketjuttaa muotofunktioon parametreina välitetyn merkkijonon kanssa.
Esimerkki: Merkkijonojen muotoilu format()-menetelmällä.
Python 3
n1> => 'Hello'> n2> => 'techcodeview.com'> # for single substitution> print> (> '{}, {}'> .> format> (n1, n2))> |
Lähtö
Hello, techcodeview.com
Voimme myös käyttää muuttujan nimeä aaltosulkeiden sisällä {}. Näin voimme käyttää muotofunktioiden parametreja haluamassamme järjestyksessä.
Esimerkki: Muotoile funktioita, joissa muuttujat ovat kiharoiden aaltosulkeiden sisällä.
Python 3
n1> => 'Hello'> n2> => 'GeeksForGeeks'> # for single or multiple substitutions> # let's say b1 and b2 are formal parameters> # and n1 and n2 are actual parameters> print> (> '{b1}! This is {b2}.'> .> format> (b1> => n1, b2> => n2))> # we can also change the order of the> # variables in the string without changing> # the parameters of format function> print> (> '{b2}! This is {b1}.'> .> format> (b1> => n1, b2> => n2))> |
Lähtö
Hello! This is GeeksForGeeks. GeeksForGeeks! This is Hello.
Huomautus: Saat lisätietoja str.format(:sta) kohdasta format()-funktio Pythonissa
f-merkkijonot
PEP 498 esitteli uuden merkkijonojen muotoilumekanismin, joka tunnetaan nimellä Literal String Interpolation tai yleisemmin nimellä F-kielet (johtuen merkkijonoliteraalia edeltävästä f-merkistä). F-merkkijonojen ideana on tehdä merkkijonojen interpoloinnista yksinkertaisempi.
Jos haluat luoda f-merkkijonon, liitä sen eteen kirjain f . Itse merkkijono voidaan muotoilla samalla tavalla kuin str. muoto(). F-merkkijonot tarjoavat tiiviin ja kätevän tavan upottaa Python-lausekkeita muotoilua varten merkkijonoliteraaleihin.
Esimerkki: Merkkijonojen muotoilu f-merkkijonoilla
Python 3
n1> => 'Hello'> n2> => 'techcodeview.com'> # f tells Python to restore the value of two> # string variable name and program inside braces {}> print> (f> '{n1}! This is {n2}'> )> |
Lähtö
Hello! This is techcodeview.com (2 * 3)-10 = -4
Voimme myös käyttää f-merkkijonoja joidenkin aritmeettisten operaatioiden laskemiseen ja se suorittaa rivin aritmeettisen laskun. Katso alla oleva esimerkki -
Esimerkki: Inline aritmetiikka f-merkkijonoilla
Python 3
a> => 2> b> => 3> c> => 10> print> (f> '({a} * {b})-{c} = {(2 * 3)-10}'> )> |
Lähtö
(2 * 3)-10 = -4
Huomautus: Lisätietoja f-merkkijonoista on kohdassa f-merkkijonot Pythonissa
Merkkijonomalliluokka
String-moduulissa Template Class mahdollistaa yksinkertaistetun syntaksin luomisen tulosten määrittelyyn. Muoto käyttää paikkamerkkinimiä, jotka muodostuvat $:sta kelvollisilla Python-tunnisteilla (aakkosnumeerisia merkkejä ja alaviivoja). Paikkamerkkien ympäröiminen aaltosulkeilla mahdollistaa sen jälkeen enemmän aakkosnumeerisia kirjaimia ilman välilyöntejä. Kirjoittaminen $$ luo yhden koodinvaihtomerkin $:
Esimerkki: Merkkijonon muotoilu malliluokalla
Python 3
from> string> import> Template> n1> => 'Hello'> n2> => 'techcodeview.com'> # made a template which we used to> # pass two variable so n3 and n4> # formal and n1 and n2 actual> 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