Discuss / Python / 求大神解答

求大神解答

Topic source

print(r'\\\')威慑呢么会报错? print(r'\\')就没事

寸行

#2 Created at ... [Delete] [Delete and Lock User]

我也遇到这个问题了,\代表后面的一个数据不转义,比如第二个\,就表示第二个\不转义,但是第一行就不是了,第一个\表示第二个第二个\不转义,直接输出,但是第三个\就没有存在的意义了,因为他后面没有东西了,不能不转义了,如果'不转义了,那么语句又不完整了。 然而,当我想到这个的时候,能理解两个''里面为什么不能以\结尾,但是文中还写了r后面''内的所有东西都不转义,那么这样说的话,应该''内的三个\都直接print出来,但是实际情况是报错无法输出,这个我也不明白为什么。还望楼下有高手给讲解一下,我如何能打出来三个\\?

蒙面人mm

#3 Created at ... [Delete] [Delete and Lock User]

参照http://www.iteye.com/problems/64471

字符串的末尾,即使是原始(raw)字符串末尾也不能带奇数个反斜杠,因为这会引起后续引号的转义:比如r'C:\Windows\'这个字符串常量,后一个反斜杠会告诉解析器后面的单引号不是字符串的结尾,字符串由两个引号包围,少了一个引号结束字符串,所以出现"SyntaxError: EOL while scanning single-quoted string "这个错误;这说明原始字符串也不是100%的"raw",它影响字符串的开头和结尾

直接打六个反斜杠就好了啊,print('\\\')。

为什么我打的是六个反斜杠,却只显示三个?

print(r'I'm ok') 这个为什么会报错,错在哪呢?

print(r"i'm ok")可以@跳过了长大所有垃圾桶的人


  • 1

Reply