У овом чланку ћемо научити о интерполацији питхон низова. Питхон подржава више начина форматирања текстуалних низова, а то укључује% -форматтинг, сис.формат (), стринг.Темплате и ф-стрингове.
Интерполација низа је поступак који замењује вредности променљивих у чуваре места у низу. На пример, ако имате шаблон за поздрав са особом попут „Здраво (име особе), драго ми је!“, Желели бисте да замените резервирано место за име особе са стварним именом. Овај процес се назива интерполација низа.
ф-жице
Питхон 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:
- %-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.
- У методи шаблона правимо шаблон увозом класе шаблона из уграђеног стринг модула.
- Метода дословне интерполације низа је моћан метод интерполације који је једноставан за употребу и повећава читљивост кода.