Python-strenginterpolasjon

I denne artikkelen vil vi lære om pythonstrenginterpolasjon. Python støtter flere måter å formatere tekststrenger på, og disse inkluderer% -formatting, sys.format (), string.Template og f-strings.

Strenginterpolering er en prosess som erstatter verdier av variabler til plassholdere i en streng. For eksempel, hvis du har en mal for å si hei til en person som "Hallo (Navn på person), hyggelig å møte deg!", Vil du erstatte plassholderen for navnet på personen med et faktisk navn. Denne prosessen kalles strenginterpolasjon.

f-strenger

Python 3.6 la til ny strenginterpolasjonsmetode kalt literal string interpolation og introduserte et nytt bokstavelig prefiks f. Denne nye måten å formatere strenger på er kraftig og enkel å bruke. Det gir tilgang til innebygde Python-uttrykk i strengkonstanter.

Eksempel 1:

 name = 'World' program = 'Python' print(f'Hello (name)! This is (program)')

Når vi kjører programmet ovenfor, vil resultatet være

Hei Verden! Dette er Python

I eksemplet ovenfor fforteller bokstavelig prefiks Python om å gjenopprette verdien av navnet på to strengvariabler og programmet inne i seler (). Så når printvi får utgangene ovenfor.

Denne nye strenginterpolasjonen er kraftig da vi kan legge inn vilkårlige Python-uttrykk vi til og med kan gjøre inline-aritmetikk med det.

Eksempel 2:

 a = 12 b = 3 print(f'12 multiply 3 is (a * b).')

Når vi kjører programmet ovenfor, vil resultatet være

 12 multipliser 3 er 36.

I det ovennevnte programmet gjorde vi integrert regning som bare er mulig med denne metoden.

% -formatering

Strenger i Python har en unik innebygd operasjon som er tilgjengelig med %operatøren. Ved å bruke kan %vi gjøre enkel strenginterpolering veldig enkelt.

Eksempel 3:

 print("%s %s" %('Hello','World',))

Når vi kjører programmet ovenfor, vil resultatet være

 Hei Verden

I eksemplet ovenfor brukte vi to %sstrengformatspesifikatorer og to strenger Helloog Worldi parentes (). Vi fikk Hello Worldsom utgang. %sstrengformatspesifikator forteller Python hvor verdien skal erstattes.

Syntaks for strengformatering endres litt, hvis vi vil gjøre flere erstatninger i en enkelt streng, og da %operatøren bare tar ett argument, må vi pakke høyre side i en tuple som vist i eksemplet nedenfor.

Eksempel 4:

 name = 'world' program ='python' print('Hello %s! This is %s.'%(name,program))

Når vi kjører programmet ovenfor, vil resultatet være

Hei Verden! Dette er python.

I eksemplet ovenfor brukte vi navn og program med to strengvariabler. Vi pakket begge variabelen i parentes ().

Det er også mulig å referere til variable erstatninger etter navn i formatstrengen vår, hvis vi overfører en kartlegging til %operatøren:

Eksempel 5:

 name = 'world' program ='python' print(‘Hello %(name)s! This is %(program)s.’%(name,program))

Når vi kjører programmet ovenfor, vil resultatet være

Hei Verden! Dette er python.

Dette gjør formatstrengene våre enklere å vedlikeholde og lettere å endre i fremtiden. Vi trenger ikke å bekymre deg for rekkefølgen på verdiene vi sender med rekkefølgen på verdiene som det er referert til i formatstrengen.

Str.format ()

I denne strengformateringen bruker vi format()funksjon på et strengobjekt og bukseseler (), strengobjektet i format()funksjon erstattes i stedet for bukseseler (). Vi kan bruke format()funksjonen til å gjøre enkel posisjonsformatering, akkurat som %formatering.

Eksempel 6:

 name = 'world' print('Hello, ()'.format(name))

Når vi kjører programmet ovenfor, vil resultatet være

 Hei Verden

I dette eksemplet brukte vi seler ()og format()funksjon for å passere navnobjekt. Vi fikk verdien av navnet i stedet for bukseseler ()i utdata.

Vi kan referere til våre variable erstatninger etter navn og bruke dem i hvilken rekkefølge vi ønsker. Dette er en ganske kraftig funksjon, ettersom den gjør det mulig å omorganisere rekkefølgen på skjermen uten å endre argumentene som sendes til formatfunksjonen.

Eksempel 7:

 name = 'world' program ='python' print('Hello (name)!This is(program).'.format(name=name,program=program))

Når vi kjører programmet ovenfor, vil resultatet være

 Hei verden! Dette er python.

In this example we specified the variable substitutions place using the name of variable and pass the variable in format().

Template Strings

Template Strings is simpler and less powerful mechanism of string interpolation. We need to import Template class from Python’s built-in string module to use it.

Example 8:

 from string import Template name = 'world' program ='python' new = Template('Hello $name! This is $program.') print(new.substitute(name= name,program=program))

When we run the above program, the output will be

 Hello world! This is python.

In this example we import Template class from built-in string module and made a template which we used to pass two variable.

Key Points to Remember:

  1. %-format method is very old method for interpolation and is not recommended to use as it decrease the code readability.
  2. In str.format() method we pass the string object to the format() function for string interpolation.
  3. I malmetoden lager vi en mal ved å importere malklasse fra innebygd strengmodul.
  4. Literal String Interpolation Method er kraftig interpolasjonsmetode som er enkel å bruke og øker kodelesbarheten.

Interessante artikler...