问题:在python中连接字符串和整数
用python说你有
s = "string"
i = 0
print s+i
会给你错误,所以你写
print s+str(i)
不会出错。
我认为这是处理int和字符串连接的笨拙方式。甚至Java也不需要显式转换为String来进行这种连接。有没有更好的方法来进行这种串联,即在Python中无需显式转换?
回答 0
现代字符串格式:
"{} and {}".format("string", 1)
回答 1
没有字符串格式:
>> print 'Foo',0
Foo 0
回答 2
使用新样式.format()
方法(默认使用.format()提供)进行字符串格式化:
'{}{}'.format(s, i)
或更旧的,但“仍然存在”,- %
格式化:
'%s%d' %(s, i)
在以上两个示例中,串联的两个项目之间没有空格。如果需要空间,可以简单地将其添加到格式字符串中。
这些提供了 如何串联项目,它们之间的空间等很多控制和灵活性。有关的详细信息格式规范的请参见此。
回答 3
Python是一种有趣的语言,尽管通常有一种(或两种)“显而易见”的方式来完成任何给定的任务,但灵活性仍然存在。
s = "string"
i = 0
print (s + repr(i))
上面的代码段使用Python3语法编写,但始终允许打印后的括号(可选),直到版本3强制使用为止。
希望这可以帮助。
凯特琳
回答 4
format()方法可用于连接字符串和整数
print(s+"{}".format(i))
回答 5
如果您只想打印哟,可以这样做:
print(s , i)
回答 6
在python 3.6及更高版本中,您可以像这样格式化它:
new_string = f'{s} {i}'
print(new_string)
要不就:
print(f'{s} {i}')