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