• python 字符串格式化输出 %d,%s及 format函数, 数字百分化输出


    旧式格式化方式:%s,%d

    1、顺序填入格式化内容

    s = "hello %s, hello %d"%("world", 100)
    print(s)

    结果: 'hello world, hello 100'

    2、使用关键字参数

    s= "%(name)s age %(age)d"%{"name":"Tom", "age":10}
    print(s)

    结果:Tom name 10

    常用的格式化符号

    %s 对应的是字符串类型(str)
    %d 对应十进制整数型的(int)

    %f  对应浮点数(float)

     %r 对应字符串(repr)

    3、输出百分数

    "%.2f%%"%(0.123)
    # = 0.12%

     

    利用format()函数

    1、无参数情况

    s = "hello {}, hello {}".format("world","Python")
    print(s)
    

    结果:"hello world, hello Python"

    2、位置参数

    s = "hello {1}, hello {0}".format("world","Python")
    print(s)
    

    结果:"hello Python, hello world"

    3、关键词参数

    s = "hello {first}, hello{second}".format(first="world",second="Python")
    print(s)
    

    结果: "hello world, hello Python"

    4、位置参数与关键词参数混用

           位置参数放在关键词参数前面,否则报错

    s = "hello {first}, hello{0}".format(Python, first="world")
    print(s)
    

    结果:"hello world, hello Python"

    5、"!a"(运用ascii()), "!s"(运用str()),  "!r"(运用repr())可以在格式化之前转换相应的值。

    In [21]: contents = "eels"
    
    In [22]: print("My hovercraft is full if {}.".format(contents))
    My hovercraft is full if eels.
    
    In [23]: print("My hovercraft is full if {!r}.".format(contents))
    My hovercraft is full if 'eels'.
    
    In [24]: print("My hovercraft is full if {!s}.".format(contents))
    My hovercraft is full if eels.
    
    In [25]: print("My hovercraft is full if {!a}.".format(contents))
    My hovercraft is full if 'eels'.
    

    6、字段后可以用":"和格式指令,更好的控制格式。

        (1)、下段代码将π 近似到小数点后3位

    import math
    print("The value of PI is approximately {0:.3f}.".format(math.pi))
    

    结果:3.142

       (2)、":"后面紧跟一个整数可以限定该字段的最小宽度

    table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}
    for name, phone in table.items():
         print('{0:10} ==> {1:10d}'.format(name, phone))
    

    结果:

    Jack       ==>       4098
    Dcab       ==>       7678
    Sjoerd     ==>       4127

    (3)、数字加千分位符

    print("{0:,.2f}".format(12345678.12345))
    # 输出 12,345,678.12

    注意:使用format输出最终都为字符串类型

    总结:

    %格式化为python内置的操作符,常用的为本文提到的这几个,还有一些其他的,如进制相关的,想了解可以查找其他资料。format是利用Python内置函数,关于format还有更多的用法,如格式限定,精度确定,填充与对齐等。

  • 相关阅读:
    mock模拟数据的使用方法
    mac下载wepy报错解决方案
    收集:40种js常用技巧
    学习——面试现场整理的笔记
    mac又更新系统了!!!
    H5的优化方案
    双十一到了,把自己学习的运营笔记发一部分
    mongodb操作笔记
    HTTP协议及常见状态码
    跨域解决方案
  • 原文地址:https://www.cnblogs.com/Frange/p/8283863.html
Copyright © 2020-2023  润新知