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