Python的raw字符串问题

r'...' 将引号的字符串里的转义字符\输出为正常字符,那为什么我输出下面这句会报错呢?

print r'check \n has a \' #SyntaxError: EOL while scanning string literal

print r'check \n has a \' #才是对的?不是说r'...' 里的字符串不需要转义了吗?

原文见图

每个东西都有一个界限,你这么写系统还以为你是\'给你原样输出,但是你的意思其实是'

图片说明

因为\它可以用来做转义,虽然在r""中不需要修饰,但是它就可能跟后面的\'组合起来引起歧义了。