通过将元素放在括号内来创建字符串

Vis*_*hal 0 python

这些通过分别定义单个元素来创建字符串:

str1 = ("a" "b")
# str1 = 'ab'

str2 = ("d"+str1)
# str2 = 'dab'

str3 = ("d" "e" "f")
# str3 = 'def'
Run Code Online (Sandbox Code Playgroud)

但是这个失败了。为什么这样?

str3 = ("d"+str1 "e")
# SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

有什么工作可以解决?

Mar*_*som 5

你混合了两种不同的东西。 ("a" "b") 看起来是两根弦,其实只有一根;由空格分隔的字符串文字会自动连接为单个字符串。它使用("ab").

另一方面,您可以添加两个不同的字符串来创建一个新的单个字符串。这就是正在发生的事情("d"+str1)

第一个示例中的技巧仅适用于字符串文字,不适用于变量或更复杂的表达式。所以("d"+str1 "e")不起作用。你需要("d"+str1+"e"),这是两个加法。

PS括号是可选的,它们只是将不需要任何额外分组的操作组合在一起。