Питхон стринг интерполација

У овом чланку ћемо научити о интерполацији питхон низова. Питхон подржава више начина форматирања текстуалних низова, а то укључује% -форматтинг, сис.формат (), стринг.Темплате и ф-стрингове.

Интерполација низа је поступак који замењује вредности променљивих у чуваре места у низу. На пример, ако имате шаблон за поздрав са особом попут „Здраво (име особе), драго ми је!“, Желели бисте да замените резервирано место за име особе са стварним именом. Овај процес се назива интерполација низа.

ф-жице

Питхон 3.6 је додао нову методу интерполације низа која се назива литерална интерполација низа и представио је нови литерални префикс f. Овај нови начин форматирања низова је моћан и лак за употребу. Омогућава приступ уграђеним Питхон изразима унутар константи низа.

Пример 1:

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

Када покренемо горњи програм, излаз ће бити

Здраво Свете! Ово је Питхон

У горњем примеру буквални префикс fговори Питхону да обнови вредност имена две променљиве низа и програма унутар заграда (). Дакле, то када printдобијемо горњи излаз.

Ова нова интерполација низа је моћна јер у њу можемо уграђивати произвољне Питхон изразе, а можемо чак и да радимо аритметику у линији.

Пример 2:

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

Када покренемо горњи програм, излаз ће бити

 12 помножи 3 је 36.

У горе наведеном програму радили смо инлине аритметику која је могућа само овом методом.

% -обликовање

Низови у Питхону имају јединствену уграђену операцију којој се може приступити са %оператором. Помоћу тога %можемо врло једноставно да изведемо једноставну интерполацију низа.

Пример 3:

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

Када покренемо горњи програм, излаз ће бити

 Здраво Свете

У горњем примеру смо користили два %sспецификатора формата низа и два низа Helloи Worldу загради (). Добили смо Hello Worldкао излаз. %sспецификатор формата стринга каже Питхону где да замени вредност.

Синтакса форматирања низа се незнатно мења, ако желимо да извршимо више замена у једном низу, а како %оператор узима само један аргумент, потребно је да десну страну умотамо у скуп како је приказано у доњем примеру.

Пример 4:

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

Када покренемо горњи програм, излаз ће бити

Здраво Свете! Ово је питхон.

У горњем примеру користили смо две променљиве имена и програма. Обе променљиве смо умотали у заграде ().

Такође је могуће позвати се на замену променљивих по имену у нашем формату низа, ако проследимо мапирање %оператеру:

Пример 5:

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

Када покренемо горњи програм, излаз ће бити

Здраво Свете! Ово је питхон.

То чини наше форматиране низове лакшим за одржавање и лакшим изменама у будућности. Не морамо да бринемо о редоследу вредности које преносимо са редоследом вредности на које се упућује у низу формата.

Стр.формат ()

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. У методи шаблона правимо шаблон увозом класе шаблона из уграђеног стринг модула.
  4. Метода дословне интерполације низа је моћан метод интерполације који је једноставан за употребу и повећава читљивост кода.

Занимљиви Чланци...