python中的format函数格式化输出

format函数为python中的格式化函数,可以对数字或者是字符串进行格式化,使用{}来指定对应的参数,可以接受不限个参数,位置可以不按顺序。在{}中可以指定索引输出对应位置的字符串。
语法格式如下:{<参数序号>:<格式控制标记>},格式控制标记包括:<填充>、<对齐>、<宽度>、<精度>、<类型>等字段,这些字段都是可选的,可以组合一起使用,填充常跟对齐一起使用,^、<、>分别是居中、左对齐、右对齐,后面带宽度,:后带填充的字符,只能是一个字符,不指定的话默认使用空格填充。其中一个{}对应一个参数,如果对数字格式化可以在{}中加上d或者是不加d。

format函数的返回值为str字符串类型,所以我们在有的时候可以通过format函数格式化对应的字符串之后将format函数格式化结果写入到文件中

if __name__ == '__main__':
    print("我叫{}, 今年{}岁".format("xiaoming", 26))
    # 在{}中指定索引的时候那么就会输出对应索引的字符串
    print("{0} {1} {0}".format("hi", "hello", "hi"))

对数字进行格式化(参考菜鸟教程):

数字 格式 输出 备注
2.1342183  {:.2f}  2.13  保留小数点后两位
2.1342183  {:+.2f}  +2.13  带符号保留小数点后两位
-1  {:+.2f}  -1.00 带符号保留小数点后两位
2.76271  {:.0f}  3  不带小数
{:0>2d}  07  数字补0,从左边开始填充,宽度为2
7  {:o<3d}  7dd  数字补o,填充右边,宽度为3
20  {:x^6d}  xx20xx  数字补x,居中对齐
2832828382  {:,}  2,832,828,382 每三位添加一个千位分割符
0.25  {:.2%}   25.00%  百分比格式
1000000000  {:.2e} 1.002+09 指数表示

测试代码如下:

if __name__ == '__main__':
    n = 2.1342183
    print("{:.2f}".format(n))

    n = 2.1342183
    print("{:+.2f}".format(n))

    n = -1
    print("{:+.2f}".format(n))

    n = 2.76271
    print("{:.0f}".format(n))

    n = 7
    print("{:0>2}".format(n))

    n = 7
    print("{:o<3}".format(n))

    n = 20
    print("{:x^6d}".format(n))

    n = 2832828382
    print("{:,}".format(n))

    n = 0.25
    print("{:.0%}".format(n))

    n = 1000000000
    print("{:.2e}".format(n))

猜你喜欢

转载自blog.csdn.net/qq_39445165/article/details/115054550