ili*_*007 1 python string string-formatting python-2.7
我对Python字符串格式化程序%d和%i之间的区别感到困惑.Python手册页将它们解释为同样的事情,'带符号整数十进制 ' - 混淆了!

它们完全相同.
Python的继承了C,在那里你可以语法也使用相同格式的scanf()功能来分析输入变量.然后,您可以使用%i十六进制格式的整数,0x前缀为八进制表示法0,以及常规十进制(基数10)整数,而%d格式化程序严格只接受十进制整数输入.
printf但是在使用该函数输出时,您将使用%x和%o格式化输出为十六进制和八进制,显式,始终和%d,%i并且仅仅是同义和输出十进制整数.Python继承了printf批发,别名和所有格式,即使没有相应的scanf区别.
较新的格式规范迷你语言(在str.format()方法和format()函数中使用)完全取消了i格式化程序; 只d留在那里.