„Python“ eilutės interpoliacija

Šiame straipsnyje mes sužinosime apie python eilutės interpoliaciją. „Python“ palaiko kelis teksto eilučių formatavimo būdus, įskaitant% -formatting, sys.format (), string.Template ir f-string.

Stygų interpoliacija yra procesas, pakeičiantis kintamųjų reikšmes į eilutes esančius vietos rezervavimo ženklus. Pvz., Jei turite šabloną, kaip pasisveikinti su žmogumi, pvz., „Sveiki (asmens vardas), malonu susipažinti!“, Norėtumėte pakeisti asmens vardo vietos rezervatorių tikruoju vardu. Šis procesas vadinamas eilutės interpoliacija.

f-stygos

„Python 3.6“ pridėjo naują eilutės interpoliacijos metodą, vadinamą tiesioginės eilutės interpoliacija, ir pristatė naują pažodinį priešdėlį f. Šis naujas stygų formatavimo būdas yra galingas ir lengvai naudojamas. Tai suteikia prieigą prie įterptųjų „Python“ išraiškų eilutės konstantose.

1 pavyzdys:

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

Kai vykdysime pirmiau nurodytą programą, bus išvestis

Labas pasauli! Tai „Python“

Aukščiau pateiktame pavyzdyje pažodinis priešdėlis fliepia „Python“ atkurti dviejų eilutės kintamųjų pavadinimo ir programos reikšmę petnešose (). Taigi, kai gausime printaukščiau pateiktą išvestį.

Ši nauja eilučių interpoliacija yra galinga, nes galime įterpti savavališkas „Python“ išraiškas, netgi galime atlikti joje aritmetiką.

2 pavyzdys:

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

Kai vykdysime pirmiau nurodytą programą, bus išvestis

 12 padauginti 3 yra 36.

Pirmiau pateiktoje programoje mes atlikome tiesioginę aritmetiką, kuri įmanoma tik naudojant šį metodą.

% formatavimas

„Python“ eilutės turi unikalią įmontuotą operaciją, kurią galima pasiekti su %operatoriumi. Naudodami %mes galime labai lengvai atlikti paprastą eilutės interpoliaciją.

3 pavyzdys:

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

Kai vykdysime pirmiau nurodytą programą, bus išvestis

 Labas pasauli

Be pirmiau pateiktame pavyzdyje mes panaudojome du %sstyginių formato specifikatoriaus ir dvi eilutes Helloir Worldskliaustuose (). Mes gavome Hello Worldkaip produkciją. %seilutės formato specifikatorius nurodykite „Python“, kur pakeisti vertę.

Eilutės formatavimo sintaksė šiek tiek keičiasi, jei norime padaryti keletą pakeitimų vienoje eilutėje, o kadangi %operatorius užima tik vieną argumentą, dešinę pusę turime suvynioti į kelis, kaip parodyta toliau pateiktame pavyzdyje.

4 pavyzdys:

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

Kai vykdysime pirmiau nurodytą programą, bus išvestis

Labas pasauli! Tai yra pitonas.

Aukščiau pateiktame pavyzdyje mes naudojome du eilutės kintamojo pavadinimą ir programą. Abu kintamuosius suvyniojome skliaustuose ().

Mūsų formato eilutėje taip pat galima nurodyti kintamuosius pakeitimus pagal pavadinimą, jei perduodame %operatoriui žemėlapį :

5 pavyzdys:

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

Kai vykdysime pirmiau nurodytą programą, bus išvestis

Labas pasauli! Tai yra pitonas.

Tai daro mūsų formato eilutes lengviau prižiūrimas ir lengviau modifikuojamas ateityje. Mums nereikia jaudintis dėl reikšmių, kurias perduodame, reikšmių, nurodytų formato eilutėje, eilės.

Str. Formatas ()

Šiame eilutės formatavime mes naudojame format()funkciją eilutės objekte ir petnešose (), veikiantis eilutės objektas format()pakeičiamas petnešomis (). format()Funkciją galime naudoti paprastam padėties formatavimui, kaip ir %formatavimas.

6 pavyzdys:

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

Kai vykdysime pirmiau nurodytą programą, bus išvestis

 Labas pasauli

Šiame pavyzdyje mes naudojome petnešas ()ir format()funkciją, kad perduotume vardo objektą. Išvestyje vietoj petnešėlių gavome vardo vertę ().

Mes galime nurodyti mūsų kintamuosius pakaitalus pagal pavadinimą ir naudoti juos bet kokia norima tvarka. Tai yra gana galinga funkcija, nes ji leidžia pertvarkyti rodymo tvarką nekeičiant formato funkcijai perduotų argumentų.

7 pavyzdys:

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

Kai vykdysime pirmiau nurodytą programą, bus išvestis

 Sveikas pasauli! Tai pitonas.

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. Pagal šablonų metodą mes sukuriame šabloną importuodami šablonų klasę iš įmontuoto eilutės modulio.
  4. Literal String Interpolation metodas yra galingas interpoliacijos metodas, kurį lengva naudoti ir padidinti kodo įskaitomumą.

Įdomios straipsniai...