Python-merkkijonon interpolointi

Tässä artikkelissa opit python-merkkijonojen interpoloinnista. Python tukee useita tapoja muotoilla tekstimerkkijonoja, mukaan lukien% -formatting, sys.format (), string.Template ja f-merkkijonot.

Merkkijonojen interpolointi on prosessi, joka korvaa muuttujien arvot merkkijonon paikkamerkkeihin. Esimerkiksi, jos sinulla on malli tervehtimiseen henkilölle, kuten "Hei (henkilön nimi), mukava tavata!", Haluat korvata henkilön nimen paikkamerkin todellisella nimellä. Tätä prosessia kutsutaan merkkijonointerpolaatioksi.

f-kielet

Python 3.6 lisäsi uuden merkkijonojen interpolaatiomenetelmän nimeltä literal string interpolation ja esitteli uuden kirjaimellisen etuliitteen f. Tämä uusi tapa muotoilla merkkijonoja on tehokas ja helppo käyttää. Se tarjoaa pääsyn upotettuihin Python-lausekkeisiin merkkivakioiden sisällä.

Esimerkki 1:

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

Kun suoritamme yllä olevan ohjelman, tulos on

Hei maailma! Tämä on Python

Edellä olevassa esimerkissä kirjaimellinen etuliite fkäskee Pythonia palauttamaan kahden merkkijonomuuttujan nimen ja ohjelman arvon aaltosulkeissa (). Joten, kun saamme printyllä olevan tuotoksen.

Tämä uusi merkkijonojen interpolointi on tehokas, koska voimme upottaa mielivaltaisia ​​Python-lausekkeita ja voimme jopa tehdä sen kanssa aritmeettisen rivin.

Esimerkki 2:

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

Kun suoritamme yllä olevan ohjelman, tulos on

 12 kerrotaan 3 on 36.

Edellä olevassa ohjelmassa teimme rivinlaskun, mikä on mahdollista vain tällä menetelmällä.

% -muotoilu

Pythonin merkkijonoilla on ainutlaatuinen sisäänrakennettu toiminto, jota voidaan käyttää %operaattorin kanssa. Käyttämällä %voimme tehdä yksinkertaisen merkkijonon interpoloinnin erittäin helposti.

Esimerkki 3:

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

Kun suoritamme yllä olevan ohjelman, tulos on

 Hei maailma

Yllä esimerkissä käytimme kaksi %smerkkijonoa muotoa määrittelijä ja kaksi merkkijonoa Helloja Worldsuluissa (). Saimme Hello Worldtuotoksena. %smerkkijonomuodon määrittelijä kertoo Pythonille, missä arvo korvataan.

Merkkijonon muotoilun syntaksit muuttuvat hieman, jos haluamme tehdä useita korvauksia yhdessä merkkijonossa, ja koska %operaattori ottaa vain yhden argumentin, meidän on käärittävä oikea puoli sekoitukseen alla olevan esimerkin mukaisesti.

Esimerkki 4:

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

Kun suoritamme yllä olevan ohjelman, tulos on

Hei maailma! Tämä on python.

Yllä olevassa esimerkissä käytimme kahta merkkijonomuuttujan nimeä ja ohjelmaa. Käärimme molemmat muuttujat sulkeisiin ().

On myös mahdollista viitata muuttujien korvaamiseen nimen mukaan muotoilumerkkijonossa, jos välitämme kartoituksen %operaattorille:

Esimerkki 5:

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

Kun suoritamme yllä olevan ohjelman, tulos on

Hei maailma! Tämä on python.

Tämä helpottaa muotoilujonojen ylläpitoa ja muokkaamista tulevaisuudessa. Meidän ei tarvitse huolehtia välitettävien arvojen järjestyksestä niiden arvojen järjestyksen kanssa, joihin viitataan muotomerkkijonossa.

Str. Muoto ()

In this string formatting we use format() function on a string object and braces (), the string object in format() function is substituted in place of braces (). We can use the format() function to do simple positional formatting, just like % formatting.

Example 6:

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

When we run the above program, the output will be

 Hello,world

In this example we used braces () and format() function to pass name object .We got the value of name in place of braces () in output.

We can refer to our variable substitutions by name and use them in any order we want. This is quite a powerful feature as it allows for re-arranging the order of display without changing the arguments passed to the format function.

Example 7:

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

When we run the above program, the output will be

 Hello world!This is 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. Mallimenetelmässä teemme mallin tuomalla malliluokan sisäänrakennetusta merkkijonomoduulista.
  4. Literal String Interpolation -menetelmä on tehokas interpolointimenetelmä, jota on helppo käyttää ja lisätä koodin luettavuutta.

Mielenkiintoisia artikkeleita...