%格式化字符串
之前一直使用的是%
來(lái)格式化字符串味悄,但是有時(shí)遇到了需要傳遞一個(gè)元組是,就會(huì)出現(xiàn)問(wèn)題塌鸯,會(huì)報(bào)TypeError
的錯(cuò)誤侍瑟。
>>> name = (1,2,3)
>>> print 'My name is %s!' % name
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: not all arguments converted during string formatting
>>>
為了保證正常使用,即使只有一個(gè)變量丙猬,也使用元組存放涨颜。
>>> name = (1,2,3)
>>> print 'My name is %s!' % (name, )
My name is (1, 2, 3)!
.format格式化字符串
- 使用占位符{num}
num表示參數(shù)的位置{0}表示第一個(gè)占位符
>>> sub1 = 'python string!'
>>> sub2 = 'an arg'
>>> a = 'with {0}'.format(sub1)
>>> a
'with python string!'
>>> b = 'with {0}, with {1}'.format(sub1, sub2)
>>> b
'with python string!, with an arg'
>>>
- %(key)s % {key: value}
>>> print "with %(kwarg)s!" % {'kwarg':sub2}
'with an arg!'
>>>
- {key}.format(key=value)
>>> print 'with {kwarg}!'.format(kwarg=sub1)
with python string!!
>>>