Python virkņu interpolācija

Šajā rakstā mēs uzzināsim par pitona virkņu interpolāciju. Python atbalsta vairākus teksta virkņu formatēšanas veidus, un tie ietver% -formatting, sys.format (), string.Template un f-virknes.

Virkņu interpolācija ir process, kas mainīgo vērtības aizstāj ar virkņu vietturiem. Piemēram, ja jums ir veidne sveicināšanai personai, piemēram, “Sveiki (personas vārds), patīkami iepazīties!”, Jūs vēlaties aizstāt personas vārda vietturi ar faktisko vārdu. Šo procesu sauc par virkņu interpolāciju.

f-stīgas

Python 3.6 pievienoja jaunu virkņu interpolācijas metodi, ko sauc par burtisko virkņu interpolāciju, un ieviesa jaunu burtisku prefiksu f. Šis jaunais virkņu formatēšanas veids ir spēcīgs un viegli lietojams. Tas nodrošina piekļuvi iegultām Python izteiksmēm virkņu konstantēs.

1. piemērs:

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

Kad mēs palaidīsim iepriekš minēto programmu, izeja būs

Sveika pasaule! Tas ir Python

Iepriekšējā piemērā burtiskais prefikss fliek Python atjaunot divu virkņu mainīgo nosaukuma un programmas vērtību iekavās (). Tātad, kad printmēs iegūstam iepriekš minēto rezultātu.

Šī jaunā virkņu interpolācija ir spēcīga, jo mēs varam iegult patvaļīgas Python izteiksmes, ar to pat varam veikt inline aritmētiku.

2. piemērs:

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

Kad mēs palaidīsim iepriekš minēto programmu, izeja būs

 12 reizināt 3 ir 36.

Iepriekš minētajā programmā mēs veicām aritmētiku, kas ir iespējama tikai ar šo metodi.

% -formatēšana

Virknēm Python ir unikāla iebūvēta darbība, kurai var piekļūt ar %operatoru. Izmantojot, %mēs ļoti vienkārši varam veikt vienkāršu virkņu interpolāciju.

3. piemērs:

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

Kad mēs palaidīsim iepriekš minēto programmu, izeja būs

 Sveika pasaule

Iepriekš minētajā piemērā mēs izmantojām divas %svirkņu formāta specifikatoru un divas virknes Helloun Worldiekavās (). Mēs saņēmām Hello Worldkā produkciju. %svirknes formāta norādītājs pastāstiet Python, kur jāaizstāj vērtība.

Virknes formatēšanas sintakse nedaudz mainās, ja mēs vēlamies vienā virknē veikt vairākas aizstāšanas, un, tā kā %operators aizņem tikai vienu argumentu, mums labā puse ir jāiesaiņo kāpa, kā parādīts zemāk esošajā piemērā.

4. piemērs:

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

Kad mēs palaidīsim iepriekš minēto programmu, izeja būs

Sveika pasaule! Tas ir pitons.

Iepriekš minētajā piemērā mēs izmantojām divus virknes mainīgā nosaukumu un programmu. Abus mainīgos mēs iesaiņojām iekavās ().

Mūsu formāta virknē ir iespējams atsaukties arī uz mainīgajām aizstāšanām pēc nosaukuma, ja %operatoram nododam kartēšanu :

5. piemērs:

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

Kad mēs palaidīsim iepriekš minēto programmu, izeja būs

Sveika pasaule! Tas ir pitons.

Tas padara mūsu formāta virknes vieglāk uzturamas un vieglāk modificējamas nākotnē. Mums nav jāuztraucas par to vērtību secību, kuras mēs nododam ar vērtību secību, uz kurām atsauce tiek sniegta formāta virknē.

Str. Formāts ()

Šajā virkņu formatējumā mēs izmantojam format()funkciju virknes objektam un bikšturiem (). format()Funkcijas virknes objekts tiek aizstāts ar lencēm (). Mēs varam izmantot format()funkciju, lai veiktu vienkāršu pozicionēšanu, tāpat kā %formatēšanu.

6. piemērs:

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

Kad mēs palaidīsim iepriekš minēto programmu, izeja būs

 Sveika pasaule

Šajā piemērā mēs izmantojām bikšturus ()un format()funkciju, lai nodotu vārda objektu. Izejā bikšturu vietā mēs saņēmām nosaukuma vērtību ().

Mēs varam atsaukties uz mūsu mainīgajiem aizstājējiem pēc nosaukuma un izmantot tos jebkurā vēlamajā secībā. Šī ir diezgan spēcīga funkcija, jo tā ļauj pārkārtot displeja secību, nemainot formāta funkcijai nodotos argumentus.

7. piemērs:

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

Kad mēs palaidīsim iepriekš minēto programmu, izeja būs

 Sveika pasaule! Tas ir pitons.

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. Veidnes metodē mēs veidojam veidni, importējot veidņu klasi no iebūvēta virkņu moduļa.
  4. Literārās virknes interpolācijas metode ir spēcīga interpolācijas metode, kuru ir viegli izmantot un palielināt koda lasāmību.

Interesanti raksti...