在python中说你有
s = "string"
i = 0
print s+i
会给你错误 所以你写了
print s+str(i)
没有得到错误。
我认为这是处理int和字符串连接的一种笨拙的方式。 甚至Java也不需要显式转换为String来进行此类排序 连接。 有没有更好的方法来进行这种连接,即在Python中没有显式转换?
答案 0 :(得分:156)
现代字符串格式:
"{} and {}".format("string", 1)
答案 1 :(得分:81)
没有字符串格式:
>> print 'Foo',0
Foo 0
答案 2 :(得分:34)
字符串格式,使用新式.format()
方法(默认值为.format()提供):
'{}{}'.format(s, i)
或更老,但“仍然坚持”,%
- 格式化:
'%s%d' %(s, i)
在上面的两个示例中,连接的两个项之间存在 no 空格。如果需要空间,可以简单地将其添加到格式字符串中。
这些提供了很多控制和灵活性,关于如何连接项目,它们之间的空间等。有关format specifications see this的详细信息。
答案 3 :(得分:13)
Python是一种有趣的语言,虽然通常有一种(或两种)“明显”的方法来完成任何给定的任务,但灵活性仍然存在。
s = "string"
i = 0
print (s + repr(i))
上面的代码片段是用Python3语法编写的,但是打印后的括号总是允许的(可选),直到版本3强制它们为止。
希望这有帮助。
凯特琳
答案 4 :(得分:2)
format()方法可用于连接字符串和整数
print(s+"{}".format(i))
答案 5 :(得分:1)
在python 3.6及更高版本中,您可以像这样格式化它:
print(f'{s} {i}')
或者只是:
{{1}}
答案 6 :(得分:0)
如果只想打印哟,可以这样做:
print(s , i)
答案 7 :(得分:0)
假设您要在以下情况下连接字符串和整数:
for i in range(1,11):
string="string"+i
您遇到输入或连接错误
最好的方法是执行以下操作:
for i in range(1,11):
print("string",i)
这将为您提供连接结果,例如字符串1,字符串2,字符串3 ...等