2024-09-26 18:03:17 发布
网友
这些方法通过分别定义字符串的各个元素来创建字符串:
str1 = ("a" "b") # str1 = 'ab' str2 = ("d"+str1) # str2 = 'dab' str3 = ("d" "e" "f") # str3 = 'def'
但这次失败了。为什么?在
有什么办法?在
你在混合两种不同的东西。("a" "b")看起来像是两个字符串,但实际上只有一个;由空格分隔的字符串文本会自动连接到单个字符串。它与使用("ab")完全相同。在
("a" "b")
("ab")
另一方面,您可以添加两个不同的字符串来生成新的单个字符串。这就是("d"+str1)所发生的事情。在
("d"+str1)
第一个例子中的技巧只适用于字符串文本,而不适用于变量或更复杂的表达式。所以("d"+str1 "e")不起作用。您需要("d"+str1+"e"),这是两个附加项。在
("d"+str1 "e")
("d"+str1+"e")
注:括号是可选的,它们只是将不需要任何额外分组的操作组合在一起。在
相邻的两个字符串文本将自动连接;这只适用于两个文本,而不适用于任意字符串表达式:
>>> 'str' 'ing' # <- This is ok 'string' >>> 'str'.strip() + 'ing' # <- This is ok 'string' >>> 'str'.strip() 'ing' # <- This is invalid File "<stdin>", line 1, in ? 'str'.strip() 'ing' ^ SyntaxError: invalid syntax
The Python Tutorial
更清晰:
你在混合两种不同的东西。
("a" "b")
看起来像是两个字符串,但实际上只有一个;由空格分隔的字符串文本会自动连接到单个字符串。它与使用("ab")
完全相同。在另一方面,您可以添加两个不同的字符串来生成新的单个字符串。这就是
("d"+str1)
所发生的事情。在第一个例子中的技巧只适用于字符串文本,而不适用于变量或更复杂的表达式。所以
("d"+str1 "e")
不起作用。您需要("d"+str1+"e")
,这是两个附加项。在注:括号是可选的,它们只是将不需要任何额外分组的操作组合在一起。在
相邻的两个字符串文本将自动连接;这只适用于两个文本,而不适用于任意字符串表达式:
The Python Tutorial
更清晰:
相关问题 更多 >
编程相关推荐