Python strenginterpolasjon
Strengeinterpolasjon er prosessen med å erstatte verdier av variabler i plassholdere i en streng. La oss vurdere et eksempel for å forstå det bedre, anta at du vil endre verdien på strengen hver gang du skriver ut strengen som du vil skrive ut hei velkommen til geeks for nerder der er plassholderen for navnet på brukeren. I stedet for å lage en ny streng hver gang, strenginterpolering inn Python kan hjelpe deg med å endre plassholderen med navnet på brukeren dynamisk.
% – Formatering
% – Formatering er en funksjon levert av Python som kan nås med en %-operatør. Dette ligner på printf-stilfunksjonen i C.
Eksempel: Formaterer streng med %-operatoren
Python3
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))> |
Produksjon
Welcome to techcodeview.com Hello ! This is techcodeview.com.
La oss si at det bare er en komplisert versjon. Likevel kan vi bruke det hvis vi har mange variabler som skal erstattes i strengen, da vi ikke alltid vil bruke (streng + variabel + streng + variabel + variabel + streng) denne representasjonen. Så for dette formålet kan vi gå med %-formatering.
Merk: For å vite mer om %-formatering, se Strengeformatering i Python med %
Str.format()
str.format() fungerer ved å sette inn ett eller flere erstatningsfelt og plassholdere definert av et par krøllete klammeparenteser { } i en streng. Verdien vi ønsker å sette inn i plassholderne og sette sammen med strengen som sendes som parametere til formatfunksjonen.
Eksempel: Formatere strenger ved å bruke format()-metoden.
Python3
n1> => 'Hello'> n2> => 'techcodeview.com'> # for single substitution> print> (> '{}, {}'> .> format> (n1, n2))> |
Produksjon
Hello, techcodeview.com
Vi kan også bruke variabelnavnet innenfor de krøllete klammeparentesene {}. Dette vil tillate oss å bruke parameterne til formatfunksjoner i hvilken som helst rekkefølge vi ønsker.
Eksempel: Formater funksjoner med variabler innenfor krøllete klammeparenteser.
Python3
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))> |
Produksjon
Hello! This is GeeksForGeeks. GeeksForGeeks! This is Hello.
Merk: For å vite mer om str.format(), se format()-funksjonen i Python
f-strenger
PEP 498 introduserte en ny strengformateringsmekanisme kjent som Literal String Interpolation eller mer vanlig som F-strenger (på grunn av det innledende f-tegnet foran strengen bokstavelig). Ideen bak f-strenger er å gjøre strenginterpolering enklere.
For å lage en f-streng, prefiks strengen med bokstaven f . Selve strengen kan formateres på omtrent samme måte som du ville gjort med str. format(). F-strenger gir en kortfattet og praktisk måte å bygge inn Python-uttrykk i strengliteraler for formatering.
Eksempel: Formatere strenger ved hjelp av f-strenger
Python3
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}'> )> |
Produksjon
Hello! This is techcodeview.com (2 * 3)-10 = -4
Vi kan også bruke f-strenger for å beregne noen aritmetiske operasjoner, og den vil utføre den innebygde aritmetikken. Se eksemplet nedenfor –
Eksempel: Inline aritmetikk ved hjelp av f-strenger
Python3
a> => 2> b> => 3> c> => 10> print> (f> '({a} * {b})-{c} = {(2 * 3)-10}'> )> |
Produksjon
(2 * 3)-10 = -4
Merk: For å vite mer om f-strenger, se f-strenger i Python
Klasse for strengmal
I String-modulen lar Template Class oss lage forenklet syntaks for utdataspesifikasjon. Formatet bruker plassholdernavn dannet av $ med gyldige Python-identifikatorer (alfanumeriske tegn og understreker). Å omringe plassholderen med klammeparenteser gjør at den kan følges av flere alfanumeriske bokstaver uten mellomrom. Å skrive $$ oppretter en enkelt escaped $:
Eksempel: Formatering av streng ved hjelp av Template Class
Python3
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))> |
Produksjon
Hello ! This is techcodeview.com.
Merk: For å vite mer om String Template-klassen, se String Template Class i Python