:02d 在 Python 中是啥意思

Posted

技术标签:

【中文标题】:02d 在 Python 中是啥意思【英文标题】:what does :02d mean in Python:02d 在 Python 中是什么意思 【发布时间】:2016-08-01 07:50:08 【问题描述】:

在网上很难找到关于:的信息 我在下面看到了一些代码:

def dateformat(date):
    day, month, year=date.split('/')
    return ":4d:02d:02d".format(int(year),int(month),int(day))

我有点知道它在格式中填充了前导 0,但我不知道 :02d 中的 '02''d' 是做什么的?

【问题讨论】:

您正在寻找str.format() documentation。 查看pyformat.info 以获取有关格式字符串的文档。可能还有很多其他资源。 回复::,如果没有格式化,就不需要冒号了,如'hello '.format("world") 您可以在这本食谱中了解有关 Python 字符串格式化的所有内容 - mkaz.tech/python-string-format.html 【参考方案1】:

您正在寻找str.format() documentation。具体来说,02d 部分记录在 Format Specification Mini-Language 中。

02d 将整数 (d) 格式化为最小宽度为 2 (2) 的字段,左侧填充零(前导 0):

>>> 'No digits: :02d, 1 digit: :02d, 2: :02d, 3: :02d'.format(0, 7, 42, 151)
'No digits: 00, 1 digit: 07, 2: 42, 3: 151'

来自文档:

format_spec ::=  [[fill]align][sign][#][0][width][,][.precision][type]

[...]

width 是定义最小字段宽度的十进制整数。

当没有给出明确的对齐方式时,在 width 字段前面加上一个零 ('0') 字符可以为数字类型启用符号感知零填充。这相当于'0' 的填充字符,对齐类型为'='

[...]

最后,类型决定了数据应该如何呈现。 [...] 可用的整数表示类型有:

[...]

'd' 十进制整数。输出以 10 为底的数字。

【讨论】:

假设我有一个数字“2014”,我希望它的右填充三个 0 为“2014000”,我该如何使用 :? @lxdthriller:使用0<7d,因此在至少7个字符宽度的字段中对齐并用零填充。【参考方案2】:

至于您的信息:

format(1, '02')
'01'

format(100, '02')
'100'
        
':02'.format(1)
'01'

':02'.format(100)
'100'

但是,:02d 中的 d 表示以 10 为底的数字

【讨论】:

以上是关于:02d 在 Python 中是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

星号 * 在 Python 中是啥意思? [复制]

`<>` 在 Python 中是啥意思?

'except Exception as e'在python中是啥意思? [关闭]

这些花括号在 python Django 中是啥意思? **

以下代码中的 zip(*res) 在 python 中是啥意思? [复制]

__init__(self) 在 Python 中是啥意思? [复制]