Python 格式化输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 格式化输出相关的知识,希望对你有一定的参考价值。

2017-07-29  22:03:07

一、使用格式符%进行格式控制

%[(name)][flags][width].[precision]typecode

  • (name):命名
  • flags可以有+,-,‘ ‘或0。+表示右对齐。-表示左对齐。‘ ‘为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充
  • wideth : 表示显示宽度,占位个数
  • precision : 表示小数点后精度
  • typecode : 格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型

 

    %s    字符串 (采用str()的显示)

 

    %r    字符串 (采用repr()的显示)

 

    %c    单个字符

 

    %b    二进制整数

 

    %d    十进制整数

 

    %i    十进制整数

 

    %o    八进制整数

 

    %x    十六进制整数

 

    %e    指数 (基底写为e)

 

    %E    指数 (基底写为E)

 

    %f    浮点数

 

    %F    浮点数,与上相同

 

    %g    指数(e)或浮点数 (根据显示长度)

 

    %G    指数(E)或浮点数 (根据显示长度)

 

 

import math
print(hello world%s %d %10.3f date:%s %(!!!,2017,math.pi,7/29))

#hello world!!! 2017      3.142 date:7/29

 

 

 

 

import math
print(hello world%s %d %-10.3f date:%s %(!!!,2017,math.pi,7/29))

#默认为右对齐,添加-使之成为左对齐,发现空格集中在了右侧
#hello world!!! 2017 3.142      date:7/29

 

 

 

 

二、使用槽进行格式化输出

str.format()

技术分享

print({:^5}\\t{:^10}.format(大学,北京大学))
print({:^5}\\t{:^10}.format(大学,北京航天航空大学))


# 大学         北京大学   
# 大学       北京航天航空大学 

 

 中文字符的居中对齐并不十分齐整的原因是当中文字符宽度不够时,采用西文字符填充;中西文字符占用宽度不同。

采用中文字符的空格填充 chr(12288)

 

print({0:^5}\\t{1:{2}^10}.format(大学,北京大学,chr(12288)))
print({0:^5}\\t{1:{2}^10}.format(大学,北京航天航空大学,chr(12288)))

# 大学         北京大学   
# 大学       北京航天航空大学 

 

 

 

 这样就可以很好的解决中文字符的对齐问题。

 


以上是关于Python 格式化输出的主要内容,如果未能解决你的问题,请参考以下文章

Python图像resize前后颜色不一致问题

Python snippet(代码片段)

将多个输出中的hls属性设置为单独的片段代码

uvec2片段着色器输出的哪个组合

Golang PrintfSprintf Fprintf 格式化

golang的xorm如何将[]map[string][]byte 格式的数据序列化成json输出