print("this is \\ double backslash")
和print("this is \\\\ double backslash")
之间的区别是什么?
答案 0 :(得分:1)
与许多语言一样,Python允许您在字符串文字中使用反斜杠来输入特殊字符(例如换行符)或转义其他无法键入的字符(例如使用与字符串相同的引号)。
与某些其他语言不同,当以下字符不是Python字符串文字可识别的特殊字符之一时(例如t
,n
,\
,"
),它只是假设您要输入文字反斜杠。
四个反斜杠只是两个转义的反斜杠。当您输入三个反斜杠后跟一个空格时,Python会自动转义第三个反斜杠,这也意味着会打印两个反斜杠。
如果您的第三个/第四个反斜杠后面跟有例如,您可以看到区别。 t
:
>>> print("\\\\t")
\\t
>>> print("\\\t")
\
答案 1 :(得分:0)
在以下情况下:
print("this is \\\ double backslash") # case 1
print("this is \\\\ double backslash") # case 2
其确实输出:
this is \\ double backslash
this is \\ double backslash
原因是因为在情况1 中,第一个\
作用在其后的\
上,而第三个\
由于后面的空白而自动转义,而在情况2 中,第一个\
和第三个{{1}}分别作用于第二个和第四个。因此,两种情况都导致要打印两个{{1}}。