%d的用法不输出整数

时间:2013-02-19 18:59:13

标签: python integer string-formatting

我发现很难理解%d格式说明符。从文档中,我知道它是整数的占位符,但在我使用它时似乎没有这样的行为:

>>> x=1
>>> x
1

>>> v = "%d" % x
>>> v
'1'

你能解释为什么它返回一个字符串而不是整数吗?它与%s完全相同。

3 个答案:

答案 0 :(得分:2)

%d表示“带符号整数十进制的字符串表示”,因此返回一个字符串

答案 1 :(得分:1)

%d用于表示您传递的参数的十进制形式,格式为字符串。这就是'%d' % 4为您提供'4'的原因。如果您执行'%d' % 0b101,您将获得'5'。如果使用十六进制也是如此。它给你一个格式化为字符串的十进制数字。

答案 2 :(得分:0)

  

v =“%d”%x

%d是变量字符串中的占位符。 V是一个字符串,如引号和%d(它是整数的字符串表示)所描述的,因此为了'v'的目的,x被强制转换为字符串。