Python 格式化输出

作者: 老黄爱Python | 来源:发表于2017-01-13 11:37 被阅读93次
    输出信息使我们获取程序调试信息的重要渠道;
    恰到好处的输出格式能帮我们直观的查看调试信息。
    • 常用格式化符种类及描述:
      | 符号 | 描述 |
      |:-------------:|:-------------:|
      | %c | 格式化字符(输出数值对应的ASCII码) |
      | %s |格式化字符串 |
      | %d | 格式化整数 |
      | %x | 格式化十六进制数(小写) |
      | %X | 格式化十六进制数(大写) |
      | %o | 格式化八进制数 |
      | %f | 格式化浮点数字,可以指定小数点精度 |
      | %%|输出%号|

    • 格式化构成字符串:

    >>> tmp = '%c'%100    #'%c'%100, 将100转化为对应的ASCII码字符'd'
    >>> print (tmp)
    d
    >>>
    
    • 格式化字符串 :
    >>> print ('HelloWorld')
    HelloWorld
    >>> phoneTypes = 'Xiaomi, Iphone, Oppo'
    >>> print ('%s' % phoneTypes)
    Xiaomi, Iphone, Oppo
    >>> 
    
    • 格式化输出整数:
    >>> x = 10
    >>> print ('%d' % x)                       #10进制
    10
    >>> print ('0x%x' % x)                     #16进制(小写)
    0xa
    >>> print ('0x%x' % (id(10)))              #对象的地址使用16进制表示
    0x5094a580
    >>> print ('0x%X' % x)                     #16进制(大写)
    0xA
    >>> print ('%o' % x)                       #8进制
    12
    
    • 百分比输出:
    >>> print ('%d%' % 10)                            #直接使用%报错
    Traceback (most recent call last):
      File "<pyshell#58>", line 1, in <module>
        print ('%d%' % 10)
    ValueError: incomplete format
    >>> 
    >>> print ('%d%%' % 10)                           #使用%%可以正常输出
    10%
    
    • 格式化输出浮点数:
    >>> pi = 3.1415926
    >>> print ('%d' % pi)      #使用%d只能显示整数
    3
    >>> print ('%f' % pi)      #使用浮点显示
    3.141593                   #小数点之后只显示6位
    >>> print ('%1.7f' % pi)   #指定小数点显示7位
    3.1415926
    >>> print ('%1.8f' % pi)   #指定小数点显示8位,后面默认补0
    3.14159260
    
    • print函数中的格式化输出的过程:
    >>> x = 10
    >>> y = 20
    >>> z = 30
    >>> print ('%d' % x)                          #%d是占位符,
    10
    >>> print ('x=%d, y=%d, z=%d' % (x, y, z))    #占位符的个数要和要显示对象数量一致,否则会报错
    x=10, y=20, z=30
    >>> print ('x=%d, y=%d, z=%d' % (x, y))       #占位符与显示对象不一致
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: not enough arguments for format string
    
    • print 制定占位符宽度:
    >>> print ('x=%d y=%d z=%d' % (x, y, z))
    x=10 y=20 z=30     #想要一种效果,x,y,z分割一定距离,例如:x=10      y=20      z=30
    #制定占位符的宽度:
    >>> print ('x=%5d y=%5d z=%5d' % (x, y, z))
    x=   10 y=   20 z=   30
    

    %nd的作用,请看下面输出:

    >>> x = 1
    >>> print ('x=%1d' % x)
    x=1
    >>> print ('x=%2d' % x)     #%2d,制定占位符宽度为2,右对齐
    x= 1                        #=后面空一格
    >>> print ('x=%3d' % x)
    x=  1                       #=后面空两格
    >>> x, y, z = 10, 20, 30
    >>> print ('x=%5d y=%5d z=%5d' % (x, y, z))
    x=   10 y=   20 z=   30      #我们想要:x=10      y=20      z=30这个效果
    >>>
    >>> print ('x=%-5d y=%-5d z=%-5d' % (x, y, z))  #输出左对齐:'-'
    x=10    y=20    z=30
    

    常用的格式化输出接介绍到这里,我们在调试程序的时候可以灵活使用这些数据,得到我们想要的输出结果。

    相关文章

      网友评论

        本文标题:Python 格式化输出

        本文链接:https://www.haomeiwen.com/subject/ngtjbttx.html