鱼C论坛

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

[已解决]python最新版里第31讲format()用法

[复制链接]
发表于 17 小时前 | 显示全部楼层 |阅读模式

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

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

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

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

  • Python旧版本(如3.6之前)不允许对字符串使用 0填充,会报错:TypeError: non-zero padding not allowed in string format specifier
  • Python新版本(如3.10+)允许对字符串使用 0填充,但默认采用左对齐,因此0会填充在右侧
  • 建议显式指定对齐符号:



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


输出结果:

  1. 'FishC00000'
复制代码


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


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 17 小时前 | 显示全部楼层    本楼为最佳答案   
关于Python中format()填充0的问题解答

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

  • Python旧版本(如3.6之前)不允许对字符串使用 0填充,会报错:TypeError: non-zero padding not allowed in string format specifier
  • Python新版本(如3.10+)允许对字符串使用 0填充,但默认采用左对齐,因此0会填充在右侧
  • 建议显式指定对齐符号:



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


输出结果:

  1. 'FishC00000'
复制代码


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


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-26 18:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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