python字符串的转义注意点

       python字符串对象对于某些字符定义了转义特性,以反斜杠\作为转义标志。当python解释器对字符串对象做处理时,要记住首先始终是要对字符串做转义处理的。

       在理解python字符串的转义时,需要注意两个概念,分别是转义前字符串和转义后字符串。一般情况下,直接和用户交互的应该是转义后字符串,这也是我们通常所正常理解的不需要转义知识的字符,即一个反斜杠就是\,而不是转义前的\\;但是在python解释器中,都默认把字符串对象当作是转义前字符串,然后先会对其转义,所以我们在写代码过程中,脚本中遇到的字符串对象都属于转义前字符串,而对于打印输出以及文本写入后的这些和用户直接交互的字符串都是经过解释器处理的转以后的字符串。

       所以,在脚本中定义字符串的时候,为了让解释器对字符串转义后得到我们预期的字符串,我们往往会通过原生字符串类型来定义字符串,避免自己根据转义来定义字符串,比如r'\n'得到的转义前字符串对象便是'\\n',所以解释器再对r'\n'转义后得到的就是我们预期的\n,而不是换行符;但是要注意这里无法直接通过r'\'得到转义后的'\',这是因为'\'本身是一个不合法的字符串表达,由于转义符对'进行了转义,所以'\'也就不是一个合法的字符串参数被用以原生的转化,这是一个在使用原生字符串时需要注意的例外。所以如果我们想要得到转义后的'\',那么我们只能通过在脚本中定义转义前字符串'\\'得到。

       最后我们要知道,对于跟用户直接交互的字符串输入和输出,python都会认为其是转以后字符串,所以在程序中,都会以其为转义后字符串的标准进行转换,得到解释器中转义前字符串对象。比如,对于文本读入,如果文本中的内容是\n,那么在读入程序中,在解释器中,其会被自动转为\\n,这样转义后才是原本的\n;同样的,当我们在脚本外以字符串作为参数传入脚本中时,也会进行这样的自动转换,默认输入的是转义后的字符串,经过转化后得到解释器中的转义前字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值