这是一篇很小的笔记,原因是我做学习通的时候见到了这个题:
当时看了一会儿发现没有符合自己想法的答案,然后就脑袋一热选了C,结果当然是错了...
看了一眼这个format的字符串对象,发现有个 {:7.2f}
的写法。既然 {:.2f}
是保留两位小数,那么这个 7 一定是保留七位整数吧!
但是定睛一看,不对啊,这答案也没有填充满7位啊!打开搜索引擎查了一下 Python format
,找了几篇文章都没有强调这件事,看了老久发现 菜鸟教程提到了个"宽度",我心里一惊,这就是我想要的结果。
问题出现在哪里呢?
7.2f
指的其实是 保留2位小数的同时保证数字 宽度为 7。之所以说是宽度,因为整个数字 包含小数点 都被算在内。 例如:
数字 宽度 4 1 3.14 4 450 3 14.43 5
再返回去看上面那道题,其实是选 B, 101/7
保留2位小数得 14.43
,而这个数值的 宽度只有 5,所以 默认要 在数字之前补充两个空格: 14.43
。如果用Python的左填充写法更明显: