2024-04-26 07:19:02 发布
网友
我知道这是一个noob问题,但对Python来说是个新问题,并试图理解以下内容:
为什么反斜杠转义在这里正常工作:
>>> print "this is \\\ a string" this is \\ a string
但当我试着:
我得到:
SyntaxError: EOL while scanning string literal
第一个\将转义第二个\。现在,第三个\等待转义另一个字符,但是得到'并转义它。这就是为什么它显示了这个错误。如果你尝试这样做,你会得到同样的错误
\
'
>>> print 'abc # Line ended while scanning string
在这种情况下
第三个\得到一个不是特殊字符的空格字符。因此,第三个\不会转义任何内容,而是字符串的一部分。在
当您这样做时:
print "\\\"
第一个\覆盖第二个,第三个覆盖"(引用本身)。所以它就像python看不到结尾的引号,所以得到了错误。在
"
第一个反斜杠转义第二个反斜杠,第三个反斜杠转义双引号,这样就无法终止字符串。您需要print "\\\\"或{},这取决于您实际尝试获得的输出。{cd3>将打印第二个
print "\\\\"
第一个
\
将转义第二个\
。现在,第三个\
等待转义另一个字符,但是得到'
并转义它。这就是为什么它显示了这个错误。如果你尝试这样做,你会得到同样的错误在这种情况下
^{pr2}$第三个
\
得到一个不是特殊字符的空格字符。因此,第三个\
不会转义任何内容,而是字符串的一部分。在当您这样做时:
第一个
\
覆盖第二个,第三个覆盖"
(引用本身)。所以它就像python看不到结尾的引号,所以得到了错误。在第一个反斜杠转义第二个反斜杠,第三个反斜杠转义双引号,这样就无法终止字符串。您需要},这取决于您实际尝试获得的输出。{cd3>将打印第二个
print "\\\\"
或{相关问题 更多 >
编程相关推荐