You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python字符串format()格式化中冒号(:)的作用是什么?

Python str.format() 占位符中冒号的作用解答

Python 的 str.format() 方法的占位符完整语法规则如下:

{[字段索引/字段名][!转换类型][:格式说明符]}

其中冒号:是固定的语法分隔符,作用是标记「格式说明符」部分的起始位置,冒号本身不会被输出到最终结果中。


疑问1解答

print("It's now: {:%Y/%m/%d %H:%M:%S}".format(date)) 中的冒号作用:

  • 冒号后面的 %Y/%m/%d %H:%M:%S 是 datetime 类型专属的格式说明规则
  • 冒号告诉解释器:后面的内容是用来格式化传入的 date 对象的规则,需要按照该规则将 datetime 对象转为对应格式的字符串,所以冒号不会出现在输出结果里。

疑问2解答

print("Adam's age is: {:age}".format(Person())) 中的冒号作用:

  • 冒号后面的 age 是传给自定义类 __format__ 方法的格式说明参数
  • 解释器执行格式化时,会自动把冒号后的内容作为参数传入对应实例的 __format__ 方法,你的代码中判断如果传入的格式说明为 age 就返回 23,因此最终输出对应结果。

举个更简单的常见用例方便理解:

# 把数字12格式化为5位长度,不足补前导0,输出 00012
print("{:0>5d}".format(12))

这里冒号后的 0>5d 就是数字类型的格式说明符,冒号仅作分隔使用。

内容的提问来源于stack exchange,提问作者YumekaMengjiaLYU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 01:18:03