zoukankan      html  css  js  c++  java
  • 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}	{:^10}'.format('大学','北京大学'))
    print('{:^5}	{:^10}'.format('大学','北京航天航空大学'))
    
    
    # 大学         北京大学   
    # 大学       北京航天航空大学 

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

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

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

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

  • 相关阅读:
    做足以让自己骄傲的活
    Count(*) 与 count(field) 一样吗?
    Explain Plan试分析
    Oracle SQL Developer中查看解释计划Explain Plan的两种方法
    整理+学习《骆昊-Java面试题全集(上)》
    【转】Java就业指导
    如何清晰的、高质量的给面试官介绍自己的电商项目【借鉴】
    留存的图片
    Linux学习_006_JavaEE程序员常用linux命令整理
    给Linux初学者的七个建议,值得一读
  • 原文地址:https://www.cnblogs.com/hyserendipity/p/7257832.html
Copyright © 2011-2022 走看看