小小世界丶 发表于 2025-4-26 00:15:47

python最新版里第31讲format()用法

第31讲中小甲鱼老师举例:"{:010}".format("FishC")
字符串不可用于这个方法,在视频中显示会报错。
我用的idle3.13.2中能输出结果,显示为'FishC00000'
同时显示”0“被填充在右边了。
想问一下朋友们这个是因为版本不同还是有什么隐藏的原因

FishC 发表于 2025-4-26 00:16:47

关于Python中format()填充0的问题解答

这个问题确实和Python版本更新有关,具体原因如下:


[*]Python旧版本(如3.6之前)不允许对字符串使用 0填充,会报错:TypeError: non-zero padding not allowed in string format specifier

[*]Python新版本(如3.10+)允许对字符串使用 0填充,但默认采用左对齐,因此0会填充在右侧

[*]建议显式指定对齐符号:



# 旧版和新版通用写法
"{:0<10}".format("FishC")# 明确左对齐填充


输出结果:

'FishC00000'



[*]版本差异原因:Python官方在后续版本放宽了对字符串格式化的限制
[*]隐藏机制:当不指定对齐符号时,字符串默认左对齐,数字默认右对齐


因此你的实验结果正确,小甲鱼视频中演示的是旧版本行为。建议开发时始终显式指定对齐符号:<左对齐/>右对齐/^居中对齐。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: python最新版里第31讲format()用法