在python中打印字符串和整数

Print string and integer in python

我一直想知道为什么在Python中开发起来应该很容易且快速,并且您甚至没有指定类型,如果要打印它,就必须将整数转换为字符串? 真烦人。

1
print"some string"+some_int

给出TypeError:无法连接'str'和'int'对象

1
print"some string"+str(some_int)

没关系。


1)因为str+int没有明确,明确的含义。 考虑:

1
x ="5" + 7

+是将7简化还是将" 5"整数化? 一种方式产生12,另一种方式产生"57"

2)因为还有其他选择可以更清楚地表达程序员的意图:

1
2
3
print"5", 7
print"5%d" % 7
print"5{:d}".format(7)

它们中的每一个都有明确的含义,并且都不对程序员造成沉重的负担。

另外:我永远不会使用"some string"+str(some_int)。 字符串串联是我上面列出的更通用,更易于使用的字符串格式化工具的一种有限情况。