2016-07-25 59 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) 

然後你應該看到預期的結果。