鱼C论坛

 找回密码
 立即注册
查看: 1526|回复: 1

format用法

[复制链接]
发表于 2018-7-18 10:52:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
rt
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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 分别是二进制、十进制、八进制、十六进制。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 13:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表