有人可以解释这些Python字符串格式化程序

ili*_*007 1 python string string-formatting python-2.7

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

Python字符串格式化程序

从Python的"内置类型"页面

Mar*_*ers 5

它们完全相同.

Python的继承了C,在那里你可以语法使用相同格式的scanf()功能来分析输入变量.然后,您可以使用%i十六进制格式的整数,0x前缀为八进制表示法0,以及常规十进制(基数10)整数,而%d格式化程序严格只接受十进制整数输入.

printf但是在使用该函数输出时,您将使用%x%o格式化输出为十六进制和八进制,显式,始终和%d,%i并且仅仅是同义和输出十进制整数.Python继承了printf批发,别名和所有格式,即使没有相应的scanf区别.

请参阅printfscanf联机帮助页.

较新的格式规范迷你语言(在str.format()方法format()函数中使用)完全取消了i格式化程序; 只d留在那里.