Я использую 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}"