python format格式化、填充、对齐、数字格式化
forma格式化的用法
format函数可以接受不限个参数,位置可以不按顺序。
基本语法是通过{ }和:来代替c语言的%。
在新版本的python中,可以在字符串前添加f代替.format()函数做格式化,形式更为简洁。
占位符
{0},{1}代表的占位符,数字占位符要注意顺序。
填充与对齐
"^"代表居中
"<"代表左对齐
">"代表右对齐
如:
>>> "{:*>8}".format("245") '*****245'
- 冒号后面带的需要填充的字符,"{:*>8}".代表字符串总共是8位,填充星号,245右对齐。
- 冒号后面若不跟字符,默认填充空格。
数字格式化
' {:>10s}' 字符s
' {:>10d}' 整数d
' {:>10f}' 浮点数f
>>> a="我是{0},我的存款有{1:.2f}" >>> a.format("煮雨",3888.4123654) '我是煮雨,我的存款有3888.41'
- :.2f表示保存2位浮点数
- Python中还有很多数字格式化的表达形式,如下表所示:
填充0的方法
>>> "{:0>10d}".format(3) '0000000003'
- 3右对齐,10位数,其余位补充0。
- 这些不用死记硬背,用到的时候查一下,用多了就记住了
数字 | 格式 | 输出 | 描述 |
3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
3.1415926 | {:+.2f} | +3.14 | 带符号保留小数点后两位 |
2.71828 | {:.0f} | 3 | 不带小数 |
5 | {:0>2d} | 05 | 数字补零(填充左边,宽度为2) |
10 | {:x<4d} | 10xx | 数字补x(填充右边, 宽度为4) |
100000 | {:,} | 100,000 | 以逗号分隔的数字格式 |
0.25 | {:.2%} | 25.00% | 百分比格式 |
100000 | {:.2e} | 1.00e+05 | 指数记法 |
13 | {:10d} | ' 13' | 右对齐(默认宽度为10) |
13 | {:<10d} | '13 ' | 左对齐(宽度为10) |
13 | {:^10d} | ' 13 ' | 中间对齐(宽度为10) |