python 在内置模块(builtins)中内建了字符串类 str
,从版本 2.6 开始新增了字符串格式化函数 format
,它通过 {}
和 :
来代替以前的 %
。
format 函数
def format(self, *args, **kwargs):
该函数执行字符串格式化操作。
调用此函数的字符串可以包含字符串字面值或者以花括号 {}
括起来的替换域。
每个替换域可以包含一个位置参数的数字索引,或者一个关键字参数的名称。
>>> 'The sum of 18 + 8 is {0}'.format(18+8)
'The sum of 18 + 8 is 26'
位置参数的数字索引从 0 开始。
示例
默认顺序占位符
>>> '{} {}'.format('knowledge','dict')
'knowledge dict'
不设置指定位置,按照默认顺序进行替换。
按位置占位符
>>> '{0} {1}'.format('knowledge','dict')
'knowledge dict'
设置指定位置,索引位置从 0 开始。
>>> '{0} {1} {0}'.format('knowledge','dict')
'knowledge dict knowledge'
关键字占位符
>>> '{name} - {url}'.format(name='yk', url='www.knowledgedict.com')
'yk - www.knowledgedict.com'
字典参数占位符
>>> site={'name':'yk','url':'www.knowledgedict.com'}
>>> '{name} - {url}'.format(**site)
'yk - www.knowledgedict.com'
通过字典设置参数,字典对应的字段名与占位符名称。
列表索引占位符
>>> lst=['yk','www.knowledgedict.com']
>>> '{0[0]} - {0[1]}'.format(lst)
'yk - www.knowledgedict.com'
通过列表索引替换占位符。