Interpolacija nizov Python

V tem članku bomo spoznali interpolacijo niza python. Python podpira več načinov formatiranja besedilnih nizov, ki vključujejo% -formatting, sys.format (), string.Template in f-stringe.

Interpolacija nizov je postopek, ki vrednosti spremenljivk nadomesti z ogradami v nizu. Če imate na primer predlogo za pozdrav z osebo, na primer »Pozdravljeni (ime osebe), lepo vas je spoznati!«, Bi radi zamenjali ogradnico za ime osebe z dejanskim imenom. Ta postopek se imenuje interpolacija nizov.

f-strune

Python 3.6 je dodal novo metodo interpolacije nizov, imenovano dobesedna interpolacija nizov, in uvedel novo dobesedno predpono f. Ta nov način oblikovanja nizov je zmogljiv in enostaven za uporabo. Omogoča dostop do vdelanih izrazov Python znotraj nizov konstant.

Primer 1:

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

Ko zaženemo zgornji program, bo rezultat

Pozdravljen, svet! To je Python

V zgornjem primeru dobesedna predpona fPythonu pove, naj obnovi vrednost imena in spremenljivke dveh nizov v oklepajih (). Torej, ko printdobimo zgornji izhod.

Ta nova interpolacija nizov je zmogljiva, saj lahko v nje vstavimo poljubne izraze Pythona, z njo lahko naredimo celo vstavljeno aritmetiko.

2. primer:

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

Ko zaženemo zgornji program, bo rezultat

 12 pomnožite 3 je 36.

V zgornjem programu smo naredili všteto aritmetiko, kar je mogoče le s to metodo.

% -oblikovanje

Strune v Pythonu imajo edinstveno vgrajeno operacijo, do katere lahko dostopate z %operaterjem. Z uporabo %lahko zelo enostavno izvedemo preprosto interpolacijo nizov.

3. primer:

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

Ko zaženemo zgornji program, bo rezultat

 Pozdravljen, svet

V zgornjem primeru smo uporabili dva %sspecifikatorja oblike niza in dva niza Helloter Worldv oklepaju (). Dobili smo Hello Worldkot rezultat. %sspecifikator oblike niza pove Pythonu, kje naj nadomesti vrednost.

Sintaksa oblikovanja nizov se nekoliko spremeni, če želimo v enem nizu narediti več zamenjav in ker %operater vzame le en argument, moramo desno stran zaviti v korito, kot je prikazano v spodnjem primeru.

Primer 4:

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

Ko zaženemo zgornji program, bo rezultat

Pozdravljen, svet! To je python.

V zgornjem primeru smo uporabili dve spremenljivki z imenom in programom. Obe spremenljivki smo zavili v oklepaje ().

Na zamenjave spremenljivk se lahko sklicujemo tudi po imenu v našem nizu oblike, če %operaterju posredujemo preslikavo :

Primer 5:

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

Ko zaženemo zgornji program, bo rezultat

Pozdravljen, svet! To je python.

Tako je naše nize formatov lažje vzdrževati in jih je v prihodnosti lažje spreminjati. Ni nas treba skrbeti za vrstni red vrednosti, ki jih posredujemo, z vrstnim redom vrednosti, na katere se sklicuje niz niza.

Str.format ()

Pri tem oblikovanju niza uporabljamo format()funkcijo na niznem objektu in oklepajih (), je nizni objekt v format()funkciji nadomeščen namesto oklepajev (). format()Funkcijo lahko uporabimo za preprosto pozicijsko oblikovanje, tako kot %formatiranje.

Primer 6:

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

Ko zaženemo zgornji program, bo rezultat

 Pozdravljen, svet

V tem primeru smo uporabili oklepaje ()in format()funkcijo za posredovanje imenskega objekta. V imenu oklepajev ()v izhodu smo dobili vrednost name .

Na naše nadomestne spremenljivke se lahko sklicujemo po imenu in jih uporabljamo v poljubnem vrstnem redu. To je zelo zmogljiva funkcija, saj omogoča preurejanje vrstnega reda prikaza, ne da bi spremenil argumente, posredovane funkciji oblikovanja.

7. primer:

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

Ko zaženemo zgornji program, bo rezultat

 Pozdravljen svet! To je 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. V načinu predloge izdelamo predlogo z uvozom razreda predloge iz vgrajenega modula nizov.
  4. Dobesedna metoda interpolacije nizov je zmogljiva metoda interpolacije, ki je enostavna za uporabo in poveča berljivost kode.

Zanimive Članki...