• 01 格式化输出


    格式化符号

    常见符号

    符号 释义
    %c 格式化字符
    %s 格式化字符串
    %d 格式化整数
    %o 格式化八进制数
    %x 格式化十六进制数
    %f 格式化浮点数字,可指定小数点后的精度
    %e 用科学计数法格式化浮点数
    %g 根据值的大小决定使用 %f%e

    举例

    %c

    >>> print("%c" % 97)
    a
    >>> 
    

    %o

    >>> print("%d 的八进制为 %o" % (100, 100))
    100 的八进制为 144
    >>> 
    

    %x / %X

    >>> print("%d 的十六进制为 %x" % (200, 200))
    200 的十六进制为 c8
    >>> print("%d 的十六进制为 %X" % (200, 200))
    200 的十六进制为 C8
    >>> 
    

    %f

    # 浮点数默认精确到小数点后 6 位	
    >>> print("%f" % 3.14)
    3.140000
    >>> print("%f" % 3.14159265)
    3.141593
    >>> 
    

    %e / %E

    >>> print("用科学计数法表示一个天文单位:%ekm" % 149597871)
    用科学计数法表示一个天文单位:1.495979e+08km
    >>> print("用科学计数法表示一个天文单位:%Ekm" % 149597871)
    用科学计数法表示一个天文单位:1.495979E+08km
    >>> 
    

    %g

    >>> print("%g" % 1.496)
    1.496
    >>> print("%g" % 149597871)
    1.49598e+08
    >>> 
    

    辅助指令

    常用指令

    符号 释义
    n1.n2 n1 表示显示的最小总宽度,小数点也算;若超出,则原样输出
    n2 表示小数点后的位数
    - 靠左输出
    + 靠右输出(默认值)
    # 八进制数前显示 0o,十六进制数前显示 0x
    0 用于填充空格

    举例

    n1.n2

    print("1234567890")  # 参考
    print("%6.3f" % 3.1)
    print("%7.3f" % 3.14159265)
    print("%7.3e" % 3.14159265)
    print("%10.3e" % 3.14159265)
    

    >>>

    1234567890
     3.100
      3.142
    3.142e+00
     3.142e+02
    

    .n2 与 n1.

    print("1234567890")
    print("%.3f" % 3.1)
    print("%.3f" % 3.14159265)
    print("%6.f" % 3.4)
    print("%6.f" % 3.5)  # n2 可省,但不推荐
    

    >>>

    1234567890
    3.100
    3.142
         3
         4
    

    -

    print("1234567890")
    print("%6.2f" % 3.1)
    print("%-6.2fA" % 3.1)  # 靠左输出
    

    >>>

    1234567890
      3.10
    3.10  A
    

    +

    print("1234567890")
    print("%6.2f" % 3.1)
    print("%+6.2f" % 3.1)  # 靠右输出,但多一个 +
    

    >>>

    1234567890
      3.10
     +3.10
    

    #

    print("%x" % 100)  # 按十六进制输出
    print("%#x" % 100)  # 按十六进制输出,带符号,大小写不敏感
    print("%#X" % 100)
    print("%#o" % 100)  # 按八进制输出,带符号,大小写敏感
    

    >>>

    64
    0x64
    0x64
    0o144
    

    0

    print("1234567890")
    print("%5d" % 3)
    print("%05d" % 3)  # 数字 0 是填充字符
    

    >>>

    1234567890
        3
    00003
    

    更多格式

    • Python3.6 之后,增加了 f-string
    • Python3.8 之后,f-string 增加了 f'{expr=}'
    • 官方文档:>>> 传送门

    简单举例

    # {[index][: [[fill] align] [sign] [width] [.precision] [type]]}
    >>> num = 1234567890
    >>> f"{num:,}"
    '1,234,567,890'
    >>> f"{num:=>+20.6e}"
    '=======+1.234568e+09'
    >>> 
    
  • 相关阅读:
    杜教筛瞎扯
    网络流 24 题 解题报告
    多项式重工业修炼日志
    c#与js中10进制16进制的转化,记录防忘
    如何在RichTextBox中改变多个字符串的颜色以及字体
    C#TreeView控件遍历文件夹下所有子文件夹以及文件
    自己用c语言实现字符串处理库函数以及扩展
    gcc for windows(mingw)编译多个c文件
    迪杰斯特拉(dijkstra)算法的简要理解和c语言实现(源码)
    spring web mvc中遇到的错误以及学习小记(持续记录)
  • 原文地址:https://www.cnblogs.com/yorkyu/p/10244418.html
Copyright © 2020-2023  润新知