python--字符串格式化输出
2019-03-15 本文已影响0人
昆仑草莽
字符串的格式化,并非是像电脑手机一样清除,所谓程序中字符串的格式化是说,字符串所特定的格式,就像书写论文要有论文格式,书写新闻要有新闻格式一样,程序中的字符串也是有一定的输出格式的。
程序中处理最多的就是字符串,各个程序中字符串的处理也都大同小异,这里具体介绍python中的字符串格式化。
字符串的格式化输出
python中,字符串是可以进行拼接的,比如:
python
st = '大家好'
st1 = '吃饭了吗'
st = '一起去吃饭吧'
a = st + st1 + st2
输出就为:大家好吃饭了吗一起去吃饭吧
这就是字符串的拼接,在python中经常用到。这也是最简单的一种拼接。下面列出其他的方法:
1.% 格式化字符串
'%s'%('字符串') : 后跟字符串
'%d'%整型数字 :后跟整数
'%f'%浮点数 :后跟小数
'%c'%ascII字符 :后跟ASCII字符
'%o'%8进制 :后跟int类型数字
'%x'%16进制:后跟int类型数字
'%e'%科学记数法:后更数字,可以整数,也可浮点数。
'%r'%('字符串') :与%s相同,不同之处是,r 输出的是带引号的字符串,s 输出不带引号的字符串。
其中'%n.mf'%() :n表示后面的数字或字符串占用多少位数,m表示小数点后几位数,如果你前面有 - 号。表示左对齐。其中 n 和 - 号对所有%起作用,m只应用与小数。
2.format格式化输出
'{} {} {}'.format('hello','world','python')
输出为:hello world python
'{:2f}'.format(2.333389) :保留小数后两位输出;
'{a.:2f}'.format(a = 2.333389) :赋值输出,前后的 a 都不可少;
'{:.2%}'.format(0.333333) : 百分比输出格式 33.33%
'{:o}'.format(20) : 8进制
'{:x}'.format(20) : 16进制
'{a:<10}'.format(a=2.333,b=3.444) : 左对齐,长度10,因为只有一个占位符,所有 b 就显示不出来了,没有 b 的位置。
'{a:x<10}'.format(a=2.333,b=3.2222) : 左对齐,长度10,不足以x补齐,x为任意;
'{a:>10}'.format(a=2.333,b=3.444) : 右对齐;
'{a:^10}'.format(a=2.333,b=3.444) : 中间对齐;
'{{ hello {0} }}'.format('python') : 转义{和}符号,{0}表示后面python的占位,输出为{hello python}
f = 'hello {0}'.format
f('python') : 这里是把format 当作一个函数来用。
###字符串的拼接
开篇我们介绍了使用 + 号来拼接,选择看其他的方法进行字符串的拼接。
1.'%s %s %s'%(st1,st2,st3)
2.' '.join([st1,st2,st3]) : join 内是序列,这点要注意。如果是单独字符串,会将字符串逐个输出。
3.'{} {} {}'.format(st1,st2,st3,st4) : 当出现st4时候,前面没有位置,只会输出前3个。不会报错。
'{2} {1} {0}'.format(st1,st2,st3) : 输出为:st3 st2 st1 根据下标索引进行输出。