我怎样才能连接在Python中的string和数字?
我试图在Python中连接一个string和一个数字。 当我尝试这个时,它给了我一个错误:
"abc" + 9 
错误是:
 Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> "abc" + 9 TypeError: cannot concatenate 'str' and 'int' objects 
为什么我无法做到这一点?
我怎样才能连接在Python中的string和数字?
请详细说明“通过”声明的用法…..
Python是强types的 。 没有隐式types转换。
你必须做的其中之一:
 "asd%d" % 9 "asd" + str(9) 
 如果它以你期望的方式工作(导致"abc9" ),那么"9" + 9将提供什么?  18还是"99" ? 
要消除这种歧义,您需要在这种情况下明确要转换的内容:
 "abc" + str(9) 
由于Python是一种强types语言,因此在Perl中使用string和整数连接是没有意义的, 因为没有定义的方式来相互“添加”string和数字。
显式比隐式更好。
  …说“Python的禅” ,所以你必须连接两个string对象。 你可以通过使用内build的str()函数从整数中创build一个string来实现: 
 >>> "abc" + str(9) 'abc9' 
或者使用Python的string格式化操作 :
 >>> 'abc%d' % 9 'abc9' 
 也许更好,使用str.format() : 
 >>> 'abc{0}'.format(9) 'abc9' 
禅宗还说:
应该有一个 – 最好只有一个 – 明显的方法来做到这一点。
这就是为什么我给了三个选项。 它继续说…
尽pipe这种方式一开始可能并不明显,除非你是荷兰人。
要么是这样的:
 "abc" + str(9) 
要么
 "abs{0}".format(9) 
要么
 "abs%d" % (9,) 
您必须将int转换为string:
 "abc" + str(9) 
像这样做:
 "abc%s" % 9 #or "abc" + str(9)