Python里字符串Format时的一个易错“点”
2021/10/30 17:11:20
本文主要是介绍Python里字符串Format时的一个易错“点”,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这是一篇很小的笔记,原因是我做学习通的时候见到了这个题:
当时看了一会儿发现没有符合自己想法的答案,然后就脑袋一热选了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的左填充写法更明显:
print("{:0>7.2f}".format(14.43)) # 0014.43
了解了这个之后我突然想起来,C语言里的百分号%格式化符其实也是同样有printf("%7.2f",14.43)
这种写法的,7这个宽度同样是把小数点算入在内。
写这篇笔记也是为了加深咱自己的印象...希望以后不要再犯这种错误( ̄ε(# ̄)☆╰╮o( ̄皿 ̄///)
这篇关于Python里字符串Format时的一个易错“点”的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30Python中''') 是什么?-icode9专业技术文章分享
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程