为什么小弟我写的这个代码是错的

为什么我写的这个代码是错的
a = '\'
print "%r" % a
%r不是可以按原样打印出字符串吗,可是这个代码运行时却显示语法错误
而且我把%r改成%s也是错的.

在python中运行结果如下
>>> a = '\'
  File "<stdin>", line 1
    a = '\'
          ^
SyntaxError: EOL while scanning string literal
>>>
------解决思路----------------------
\ 是字符串转义符,其后的字符会被转义
如LZ所写的  \'会被认为是转义后的 ' 字符

#第2个引号在\之后会被转义
>>> print '\''
'
#第2个引号在\之后会被转义,导致字符串缺少右边引号
>>> print '\'   
SyntaxError: EOL while scanning string literal



我觉得不要问为什么,先熟悉下字符串相关的语法吧,这是属于语法约定的东西

想要表示\ 这个字符,必须写作'\\' 


>>> print '\\'
\

------解决思路----------------------
'\'被转义了