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 f
käskee Pythonia palauttamaan kahden merkkijonomuuttujan nimen ja ohjelman arvon aaltosulkeissa ()
. Joten, kun saamme print
yllä 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 %s
merkkijonoa muotoa määrittelijä ja kaksi merkkijonoa Hello
ja World
suluissa ()
. Saimme Hello World
tuotoksena. %s
merkkijonomuodon 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:
- %-format method is very old method for interpolation and is not recommended to use as it decrease the code readability.
- In str.format() method we pass the string object to the format() function for string interpolation.
- Mallimenetelmässä teemme mallin tuomalla malliluokan sisäänrakennetusta merkkijonomoduulista.
- Literal String Interpolation -menetelmä on tehokas interpolointimenetelmä, jota on helppo käyttää ja lisätä koodin luettavuutta.