|
发表于 2018-7-18 13:28:00
|
显示全部楼层
本帖最后由 night119110 于 2018-7-18 14:20 编辑
感觉和%s有点相似吧,
>>> '{0}同学在本次考试中成绩提升了 {1:.2f}%'. format('李雷', 10.26643)
'李雷同学在本次考试中成绩提升了 10.27%'
>>> '在本次考试中成绩提升了 {1:.2f}% 的同学有{0}同学'. format('李雷', 10.26643)
'在本次考试中成绩提升了 10.27% 的同学有李雷同学'
和%有一点不同的就是替代的顺序可以调换,主要是以{}来分辨用那一个元素来填充
我们可以把format视为一个列表,用索引的方式来实现元素填充{0}就是使用format中的第一个元素,{1}就是使用format中第二个元素
当然,元素也可以不受限制次数的调用,例子如下:
>>> "{1} {0} {1}".format("hello", "world")
'world hello world'
还可以先建立一个包含内容的列表,然后用format来实现调用
>>> list = ['李雷', 10.26643]
>>> '在本次考试中成绩提升了 {0[1]:.2f}% 的同学有{0[0]}同学'. format(list)
'在本次考试中成绩提升了 10.27% 的同学有李雷同学'
下面是在网上找的表格,对照看一下估计就明白了
format(数字) 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00e+09 指数记法
13 {:10d} 13 右对齐 (默认, 宽度为10)
13 {:<10d} 13 左对齐 (宽度为10)
13 {:^10d} 13 中间对齐 (宽度为10)
'{:b}'.format(11) 11的二进制 1011
'{:d}'.format(11) 11的十进制 11
'{:o}'.format(11) 11的八进制 13
'{:x}'.format(11) 11的十六进制 b
^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
+ 表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格
b、d、o、x 分别是二进制、十进制、八进制、十六进制。 |
|