我正在使用Python 2.7.6。我今天偶然遇到了这个。
我的意思是通过格式化程序将整数转换为字符串。像这样:
a = 50
b = "%d" % (a)
但是,我这样做了
a = 50
b = "%s" % (a)
哪个也运行良好。我无法理解这是怎么回事。双重转换发生在这里吗?
确切地说,%s
如何接受整数并且仍然不会抛出任何错误?
答案 0 :(得分:3)
"%s" % (a)
调用__str__
的{{1}}方法。
您不需要使用a
将整数转换为字符串,只需执行"%d" % (a)
然而,使用str(a)
将确保a可转换为整数,例如"%d" % (a)
无效。
答案 1 :(得分:0)