【发布时间】:2012-07-18 12:47:04
【问题描述】:
在python中说你有
s = "string"
i = 0
print s+i
会给你错误 所以你写
print s+str(i)
不会出错。
我认为这是处理 int 和 string 连接的一种非常笨拙的方法。 甚至 Java 也不需要显式转换为 String 来执行这种排序 的串联。 有没有更好的方法来进行这种连接,即在 Python 中不进行显式转换?
【问题讨论】:
-
这是因为 Python 是强类型 (en.wikipedia.org/wiki/Strong_typing) 语言(谷歌可以了解更多信息:))。
-
这会导致歧义。
"1" + 1、2或"11"的结果是什么?为什么? -
伙计,我不确定你在想什么,但请不要只是假设。我的问题是连接 2 种不同的对象类型,我找到了解决方案。我不知道你在 python 中编程了多少,但你有没有尝试连接两个字符串,只是当其中一个是 None 类型时才得到错误?您可以进行显式检查,但这只是额外的代码。当你需要记录错误时,这种事情是必需的。
-
只要
s+str(i),你是对的!
标签: python concatenation string-concatenation