好的我正在调查数字格式,我发现您可以使用%d 或%i 来格式化整数。例如:
number = 8
print "your number is %i." % number
或
number = 8
print "your number is %d." % number
但有什么区别?我的意思是我找到了一些东西,但这完全是胡言乱语。有人在这里说温和代码或英语吗?
答案 0 :(得分:16)
Python复制了C格式化指令。
对于输出,%i
和%d
在Python和C中完全相同。
不同之处在于,当您使用scanf()
函数在C中解析输入时,它们会做什么。请参阅Difference between format specifiers %i and %d in printf。
Python没有等效的scanf
,但Python字符串格式化操作保留了两个与C保持兼容的选项。
新的str.format()
和format()
format specification mini-language放弃了对i
的支持,仅停留在d
。
答案 1 :(得分:2)
没有,请参阅Python String Formatting Manual: http://docs.python.org/2/library/stdtypes.html#string-formatting
答案 2 :(得分:1)
没有区别。
这里是the proof.
有两个原因的原因是,%i只是%d的替代,如果你想在高层看它(从python的角度来看)。
以下是python.org对%i的评价:Signed integer decimal.
并且%d:Signed integer decimal.
%d代表十进制,%i代表整数。
但两者都相同,你可以同时使用它们。