这章我们学习字符串的另一种格式化输出用法,前面我们讲过一种%S的用法。这章讲format加括号。
我现在写一个字符串,我们看到名字和地名没有写,然后在里面用大括号框起来。
这个大括号里什么都不写的话,后面下括号里就是按位置传值。
'my name is {},I am from {}'
我们再来看,只要在字符串后面加点然后就会自己跳出来内置用法,和split、strip一样。
info = 'my name is {},I am from {}'.format('于谦', '北京')
print(info)
我们可以看到,按位置传值就是,后面括号里写的内容按输入的顺序放入大括号内。
然后中括号里还能写索引,我在第一个大括号里输入1,后面输入0。打印看看什么效果。
info = 'my name is {1},I am from {0}'.format('于谦', '北京')
print(info)
打印的话是前后牛头不对马嘴。因为1号索引对应的是北京,0号索引才是对应于谦。我们记住在用这种方式的时候,我顺序不要弄乱。
我们再来看最后一种format用法,不按位置传值,按key=value这种方式,但是这种方式比较麻烦。
info = 'my name is {name},I am from {hometown}'.format(name='于谦', hometown='北京')
print(info)
直接在大括号里写key,然后后面小括号里写key=value。
format也可以格式化填充,比如*****开始*****。
a='{0:*^10}'.format('开始') #{ 后面是一个值的话可以不写索引
print(a)
上面这个0,就是0号索引,如果你后面只有一个值的话,你就可以不写。如果你是key=value的话,这个0你就换成对应的key就行了。
冒号是标准用法,必须写,*星号是填充符号随你改,^表示居中的意思,你也可以改成>,<分别表示填充左边或者填充右边。10表示填充总长度。
format还能小数进度控制。
b='{num:.2f}'.format(num=3.1415926)
print(b)
这个点2f,表示四舍五入的方式保留2位小数,我们来打印看看。
好了,关于format我就先讲这么多。大家多多联系就熟悉了。
未经允许不得转载:445IT之家 » Python 字符串详解之format