14

好的,我正在研究数字格式,发现您可以使用%d%i来格式化整数。例如:

number = 8
print "your number is %i." % number

或者

number = 8
print "your number is %d." % number

但是有什么区别呢?我的意思是我发现了一些东西,但它完全是胡言乱语。有人在这里说温和代码或英语吗?

4

3 回答 3

21

Python 复制了 C 格式化指令。

对于output%i%d在 Python 和 C 中都是完全相同的东西。

不同之处在于当您使用它们来解析input时,这些函数在 C 中使用scanf()函数执行的操作。请参阅printf 中格式说明符 %i 和 %d 之间的区别

Python 没有scanf等效项,但 Python 字符串格式化操作保留了这两个选项以保持与 C 兼容。

新的str.format()format() 格式规范的迷你语言仅支持i并坚持使用d

于 2013-07-16T15:15:19.750 回答
2

There isn't any, see the Python String Formatting Manual: http://docs.python.org/2/library/stdtypes.html#string-formatting

于 2013-07-16T15:08:23.367 回答
1

没有不同。

这就是证据。

有两个的原因是, %i 只是 %d 的替代品,如果你想从高层次上看它(从python的角度来看)。

以下是 python.org 对 %i 的评价:Signed integer decimal.

还有 %d:Signed integer decimal.

%d 代表十进制,%i 代表整数。

但两者都是一样的,你可以同时使用。

于 2013-07-16T15:14:40.353 回答