在python中连接string和整数

在Python中说你有

s = "string" i = 0 print s+i 

会给你错误,所以你写

 print s+str(i) 

不要错误。

我认为这是一个笨拙的方式来处理int和string连接。 即使Java不需要显式的强制转换来进行这种串联。 有没有更好的方式来做这种连接,即没有在Python中显式转换?

现代string格式:

 "{} and {}".format("string", 1) 

没有string格式:

 >> print 'Foo',0 Foo 0 

string格式,使用新的.format()方法(使用默认的.format()提供):

  '{}{}'.format(s, i) 

或者年纪较大,但“仍然坚持”, %格式化:

  '%s%d' %(s, i) 

在上面的两个例子中,两个项目之间没有空格。 如果需要空间,它可以简单地添加在格式string中。

这些提供了很多的控制和灵活性,如何连接项目,他们之间的空间等。关于格式规格的细节看到这一点 。

Python是一种有趣的语言,虽然通常有一种(或两种)“明显”的方式来完成任何给定的任务,但灵活性仍然存在。

 s = "string" i = 0 print (s + repr(i)) 

上面的代码片段是用Python3语法编写的,但打印后的括号总是被允许的(可选的),直到版本3成为必需的。

希望这可以帮助。

凯特琳