python之字符串格式化(format)
用法:
它通过{}和:来代替传统%方式
1、使用位置参数
要点:从以下例子可以看出位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表
a = 'my name is {} ,age {}'.format('python',18)
print(a)
#输出结果为
# my name is python ,age 18
================================================
li = ['python1',28]
a = 'my name is {} ,age {}'.format(*li)
#输出结果为
#my name is python1 ,age 28
2、使用关键字参数
要点:关键字参数值要对得上,可用字典当关键字参数传入值,字典前加**即可
hash = {'name':'python','age':18}
a = 'my name is {name},age is {age}'.format(name='python',age=25)
print(a)
#输出结果
#'my name is python,age is 25'
================================================
a = 'my name is {name},age is {age}'.format(**hash)
print(a)
#输出结果
#'my name is python,age is 18'
3、填充与格式化:[填充字符][对齐方式 <^>][宽度]
>>> '{0:*>10}'.format(10) ##右对齐
'********10'
>>> '{0:*<10}'.format(10) ##左对齐
'10********'
>>> '{0:*^10}'.format(10) ##居中对齐
'****10****'
4、使用索引
li = ['python', 18,'测试']
a = 'name is {0[0]} age is {0[1]}'.format(li)
print(a)
'name is python age is 18
#{0[0]}用法解释:
#索引format列表里面的第一个li,索引li列表里面的第一个'python'
#索引format列表里面的第一个li,索引li列表里面的第二个18
传统%方式
举例说明:
print ("我叫 %s 今年 %d 岁!" % ('python', 29))
#输出结果
#我叫 python 今年 29 岁!
==================
print ("他们分别是 %d 岁,%d 岁,%d 岁,%d 岁!" % (29,21,43,21))
#输出结果
#他们分别是 29 岁,21 岁,43 岁,21 岁!