• 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)))
    
    # 大学         北京大学   
    # 大学       北京航天航空大学 

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

  • 相关阅读:
    二叉树非递归先中后序遍历 及 非递归交换二叉树两个孩子的位置
    COM 学习小记录
    Linux 信号量 生产者消费者小例题
    打印数字 形状有点得味
    (链表)链表倒序
    C++ 数组名作为函数参数 都是我的错
    进程 线程
    《C++ Qt 设计模式》8|15拼图 小游戏的简单实现。拜托,别乱点!
    PMAC运动程序例程(一)
    中国获得2022年冬奥会举办权【经济学人】
  • 原文地址:https://www.cnblogs.com/hyserendipity/p/7257832.html
Copyright © 2020-2023  润新知