我在玩python,我意识到我们不需要使用’+’运算符来连接字符串,除非它与值一起使用。
例如:
string1 = 'Hello' 'World' #1 works fine string2 = 'Hello' + 'World' #2 also works fine string3 = 'Hello' string4 = 'World' string5 = string3 string4 #3 causes syntax error string6 = string3 + string4 #4 works fine
现在我有两个问题:
从文档:
允许使用可能使用不同的引用约定的多个相邻字符串文字(由空格分隔),其含义与它们的串联相同。因此,“ hello”“世界”等同于“ helloworld”。
语句3不起作用,因为:
在运行时必须使用’+’运算符来连接字符串表达式。
请注意,文档中子标题的标题也是“字符串文字串联”。这仅适用于字符串文字,不适用于其他对象。
可能没有什么区别。如果有的话,它可能很小,任何人都不必担心。
另外,请了解这样做可能存在危险:
>>> def foo(bar, baz=None): ... return bar ... >>> foo("bob" ... "bill") 'bobbill'
这是一个 绝不应该错误传递错误 的完美示例 。 如果我想"bill"成为论点baz怎么办?我忘记了逗号,但是没有出现错误。相反,已发生串联。
"bill"
baz