为什么我们需要单引号字符串的转义字符,而不是双引号。
a = 'hello how\'s it going'
a1 = 'hello how's it going'
b = "hello how's it going"
assert(a==b) # passes
assert(a1==b) # errors
错误消息:
File "string.py", line 1 a = 'hello how's it going' ^ SyntaxError: invalid syntax
答案 0 :(得分:4)
如果您在字符串周围使用'
或"
将其标记为字符串文字,则无关紧要。但是你不能在字符串文字中使用该字符而不使用前面的\
来转义它 - 否则Python将其解释为字符串的结尾。
例如,"
分隔的字符串文字中的"
也需要进行转义:
a = "And he said: \"What a nice day\"."
答案 1 :(得分:0)
因为单引号会关闭字符串。例如
'Broken' single quote string'
"Broken" double quote string"
如果您需要字符串中的单引号,请使用双引号,反之亦然
"valid 'single' quote in a string"
'valid "double" quote in a string'
答案 2 :(得分:0)
您可以使用单引号或双引号,但如果您想在字符串中使用它们而不删除它们,则开始和结束符号应与字符串内使用的符号不同。
例如,你可以这样做:
a = "hello how's it going"
或者:
a = 'hello my "friend"'
答案 3 :(得分:0)
单引号
当您使用单引号'
启动字符串时,它会搜索下一个单引号'
以结束字符串。当遇到第二个单引号'
时,它会以该引号结束字符串,并超出第二个引用,它不接受任何字符串。因此,您需要将带有反斜杠的引号作为转义字符。
双重报价
正如您可能已经猜到的那样,在这种情况下,字符串也会以双引号"
开头和结尾。在第一个双引号和第二个双引号之间,它接受任何字符串,除了双引号(原因与单引号相同)。
希望这能澄清你的字符串概念:)
答案 4 :(得分:0)
这两种类型(单引号和双引号)之间的选择取决于程序员的选择。通常,双引号用于字符串表示,单引号用于正则表达式、字典键或 SQL。因此,单引号和双引号在 python 中都描述了字符串,但有时我们需要使用一种类型而不是另一种。