2016-07-25 2 views
4

Я использую Python 2.x и пытаюсь понять логику форматирования строк с использованием именованных аргументов. Я понимаю:Именованные аргументы форматирования строки в Python

"{} and {}".format(10, 20) принты '10 and 20'.

Подобным образом '{name} and {state}'.format(name='X', state='Y') печатает X and Y

Но почему это не работает?

my_string = "Hi! My name is {name}. I live in {state}" 
my_string.format(name='Xi', state='Xo') 
print(my_string) 

Он печатает "Hi! My name is {name}. I live in {state}"

ответ

6

format не изменяет строку вы называете его; он возвращает новую строку. Если вы делаете

my_string = "Hi! My name is {name}. I live in {state}" 
new_string = my_string.format(name='Xi', state='Xo') 
print(new_string) 

тогда вы должны увидеть ожидаемый результат.

Смежные вопросы