我正在阅读官方文档中的python教程并遇到了这个 - > “在交互式解释器中,输出字符串用引号括起来,特殊字符用反斜杠转义。”并尝试了一下。
那么,为什么它在第二个输出中打印反斜杠而它没有在第一个输出中?,任何帮助都会受到赞赏。谢谢提前!
答案 0 :(得分:1)
当以这种方式显示字符串时,如果其内容仅使用一种引用,则Python使用另一种引用来围绕整个字符串,以使显示更简洁。您的第一个示例使用单引号(撇号)但没有双引号,因此Python能够使用双引号显示它而不必转义任何内容。
如果您创建的字符串包含双引号但不包含单引号,则可以看到相反的行为:
>>> 'a "quote" here'
'a "quote" here'
请注意,Python在整个字符串周围使用单引号。
在第二个示例中,您的字符串包含双引号和单引号。这意味着必须对一个或另一个进行转义,因此Python选择(显然是任意的)在整个字符串周围使用单引号,并转义其中出现的单引号。
答案 1 :(得分:0)
字符串引号可以使用反斜杠进行转义,但反斜杠仍保留在字符串中;例如,r“\”“是一个有效的字符串文字,由两个字符组成:反斜杠和双引号; r”\“不是有效的字符串文字
检查this,因为它可能会有所帮助,更具体地说,请转到2.4.1