AD

python的 raw string

       尼玛,看翻译的东东果然不靠谱啊。今天看PDF,看到里面有个神马名词叫“自然字符串”,说在字符串前面加上“r”或者“R”,可以制定为自然字符串,目的是指示某些不需要转义符特别处理的字符串。在其他编程语言里面木有听过有这玩意儿啊。

       我踏上度娘之旅,希望能再度娘的文档里面找到这个名词的蛛丝马迹,结果,我蛋疼了。只好请出谷姐大婶,感觉谷姐大婶还是比较给力的,在几分钟后,我点了N个连接后,我发想,谷姐大婶也不给力了,尼玛不是说谷姐很看重python的吗!!!

 

        把我的收获给大家分享一下:

       1、 “自然字符串”,又名“原生字符串”,原名:“raw string”。而“raw”有 “生的,未煮过的” ,“未加工的;处于自然状态的”的意思。

       2、这个raw string ,主要是针对反斜杠“”等在python中有转移作用的字符。如果某个字符要使其消失转义作用,原原本本的输出,则需要在这个字符串前面加上“r”或者“R”,成为“自然字符串”,表示字符原来的意义,不被转义。

        例如:r"dan teng de raw string n",print后会输出:“"dan teng de raw string n”。“n“中的”“没有起转义作用。

       3、这个自然字符串,在写正则的时候,会方便不少。针对正则中的”“,会让正则简洁清楚很多。

       4、特别提示:在使用raw string时,反斜杠”“虽然不在做转义用,但某些情况下任然有一定的作用的。

          例如: pach=r'c:python32'

         如果进行输出,将会爆错误。因为最后的单引号被转义了,所以这个字符串没有了和前面配对的单引号” ‘ “。

         raw string 是为了方便写正则的,不适合windows路径。在正则表达式中,反斜杠也是转义字符,因此不可能出现以反斜杠结尾的正则表达式。

 

最后附图一张,大家注意看最后一行path1的输出

python的 raw string - wangyishouxing - wangyishouxing的博客

 

评论

此博客中的热门博文

简单粗暴导出小米便签

我——终于一个人了

Ubiquiti_Networks_UniFi_Cloud_Key_authed_rce