关于 Python 2.x 的 r'' 和 ur''
>>> print r'\u'
\u
>>> print ur'\u'
File "<stdin>", line 1
SyntaxError: (unicode error) 'rawunicodeescape' codec can't decode bytes in position 0-1: truncated \uXXXX
>>>
这是怎么回事?
我初学 python 时记得书上说前面有 r 的字符串 \ 没有特殊含义,但后来发现我错了,实际上字符串里的最后一个 \ 还是被莫名其妙转义了(r'\' 和 ur'\' 都会出错,只要引号里最后一个字符是反斜杠)……好吧,这也就算了。但是上面那个例子,unicode 和 str 的行为居然不一样,请问这是 BUG 还是什麼……哪位高手能详细说一下 r'' 和 ur'' 到底是干嘛的?是不是还有其他的反斜杠后的字符会被偷偷地转义?我真的越来越搞不懂了……谢谢~