好的,我正在研究数字格式,发现您可以使用%d或%i来格式化整数。例如:
number = 8
print "your number is %i." % number
或者
number = 8
print "your number is %d." % number
但是有什么区别呢?我的意思是我发现了一些东西,但它完全是胡言乱语。有人在这里说温和代码或英语吗?
好的,我正在研究数字格式,发现您可以使用%d或%i来格式化整数。例如:
number = 8
print "your number is %i." % number
或者
number = 8
print "your number is %d." % number
但是有什么区别呢?我的意思是我发现了一些东西,但它完全是胡言乱语。有人在这里说温和代码或英语吗?
Python 复制了 C 格式化指令。
对于output,%i
和%d
在 Python 和 C 中都是完全相同的东西。
不同之处在于当您使用它们来解析input时,这些函数在 C 中使用scanf()
函数执行的操作。请参阅printf 中格式说明符 %i 和 %d 之间的区别。
Python 没有scanf
等效项,但 Python 字符串格式化操作保留了这两个选项以保持与 C 兼容。
新的str.format()
和format()
格式规范的迷你语言仅支持i
并坚持使用d
。
There isn't any, see the Python String Formatting Manual: http://docs.python.org/2/library/stdtypes.html#string-formatting
没有不同。
这就是证据。
有两个的原因是, %i 只是 %d 的替代品,如果你想从高层次上看它(从python的角度来看)。
以下是 python.org 对 %i 的评价:Signed integer decimal.
还有 %d:Signed integer decimal.
%d 代表十进制,%i 代表整数。
但两者都是一样的,你可以同时使用。