如果我有一个字符串列表,其中一些包含包含在 中的代码{}
,以后是否可以format()
在这些字符串上使用?
在这种情况下,我想为身体伤害写一些风味文本,例如,"He appears to be limping on his {1} leg."
但我想根据所讨论的腿用“左”或“右”来格式化该字符串。
如果我有一个字符串列表,其中一些包含包含在 中的代码{}
,以后是否可以format()
在这些字符串上使用?
在这种情况下,我想为身体伤害写一些风味文本,例如,"He appears to be limping on his {1} leg."
但我想根据所讨论的腿用“左”或“右”来格式化该字符串。
当然有可能。只需存储字符串并.format()
稍后调用它们:
>>> someformat = 'Hello {}!'
>>> someformat
'Hello {}!'
>>> print someformat.format('World')
Hello World!
.format()
只是字符串上的一个方法,只有当您调用该方法时,该字符串才会被解释为模板。就像.strip()
and一样.join()
,您可以在选择的时间在任何字符串对象上调用该方法。
您可以随时拨打电话.format()
。
您可以在文件的最顶部定义格式字符串,甚至可以多次使用它来处理几个不同的数据。
当您真正调用它时,这完全取决于您(分别是您的需求),只要您在某处引用它即可。
即,不要做
TEMPLATE = "He appears to be limping on his {0} leg."
[...]
TEMPLATE = TEMPLATE.format('left')
因为您将丢失原始模板。
相反,做
TEMPLATE = "He appears to be limping on his {0} leg."
[...]
leftsentence = TEMPLATE.format('left')
[...]
rightsentence = TEMPLATE.format('right')
[...]
middlesentence = TEMPLATE.format('middle')
随时随地。
您将不得不使用{0}
匹配传递给的第一个参数format
。
例子:
>>> s = "He appears to be limping on his {0} leg"
>>> s.format("bad")
'He appears to be limping on his bad leg'