Python数字格式化两种写法含义咨询及相关学习资源求推荐
Python数字格式化语法说明
1. '%02d/%04d/%03d' % (x, y, z)
这是Python的C风格旧式%运算符格式化语法,你提到的固定位数补0的理解是正确的,补充细节如下:
- 占位符规则拆解:
d表示目标格式化对象为十进制整数- 数字表示格式化后的最小宽度,
02即最少占2位,04最少占4位,03最少占3位 - 宽度前的
0表示如果实际数值位数不足最小宽度,左侧用0补全,没有填0的话默认补空格 - 占位符之间的
/是固定拼接字符
- 示例:如果x=5,y=2024,z=23,最终输出结果为
05/2024/023
2. format(x, '100,d')
这是Python内置format()函数的格式化写法,规则拆解:
- 第一个参数
x是待格式化的整数 - 第二个参数的格式符拆分:
100表示格式化后的字符串总宽度为100位,数值长度不足时默认在左侧补空格,表示启用千位分隔符,会在整数的千、百万、十亿等位数前自动添加逗号d表示目标为十进制整数
- 示例:如果x=123456789,最终输出是总长度100的字符串,末尾实际内容为
123,456,789,前面补91个空格
学习建议
你可以直接在本地Python环境执行help('FORMATTING')查看完整的官方格式化规则说明,不用额外找外部资源。日常使用优先推荐f-string写法,可读性更高,上述两种写法都可以用f-string等价实现:
- 第一种写法等价f-string:
f"{x:02d}/{y:04d}/{z:03d}" - 第二种写法等价f-string:
f"{x:100,d}"
内容的提问来源于stack exchange,提问作者ten1o
相关产品推荐
相关产品推荐

