本篇源自 py2.7.9-docs 的 faq.pdf 中的“3.23 Why can’t raw strings (r-strings) end with a backslash?”
更准确的说,原始字符串即以r修饰的字符串,不能以奇数个反斜杠结束;
原始字符串被设计用来作为一些处理器(主要是正则表达式引擎)的输入。这种处理器会认为这种未匹配的末端反斜杠是种错误,所以,原始字符串也就不允许以奇数个反斜杠结束。反过来,他们允许你使用斜杠来表示转义,包括\"表示",\t 表示 TAB 等。当原始字符串用于这些处理器时,这个规则适用。
如果原始字符串不用于正则表达式等处理器,只是简单的代表一个字符串,那么该串中的 \ 就是 \,而不再具有转义的含义,这就是所谓的‘原始’。
下面我会一步步的解释字符串和原始字符串的区别
1.用于单独的字符串表示:
简单字符串中存在 \ 转义行为,而原始字符串中 \n 就是 \n 字符
>>> s = "i have\na dream">>> r = r'i have\na dream'>>> print si havea dream>>> print ri have\na dream
Loading...
未加载完,尝试【刷新】or【退出阅读模式】or【关闭广告屏蔽】。
尝试更换【Firefox浏览器】or【Chrome谷歌浏览器】打开多多收藏!
移动流量偶尔打不开,可以切换电信、联通、Wifi。
收藏网址:www.ziyungong.cc
(>人<;)