python字符串的结束标志是什么_“u”和“r”字符串标志具体做什么,什么是原始字符串文字?...

没有真正的“rawstring”;有rawstring literals,这正是在开始引号前用'r'标记的字符串文本。

“raw string literal”是一种与string literal稍有不同的语法,其中反斜杠\被视为意味着“只是一个反斜杠”(除非它正好位于引号之前,否则将终止该literal)--没有“转义序列”来表示换行符、制表符、反空格、表单源等等。在普通的字符串文本中,每个反斜杠必须加倍,以避免被当作转义序列的开始。

这种语法变体之所以存在,主要是因为正则表达式模式的语法中有大量的反斜杠(但永远不会在结尾,所以上面的“except”子句无关紧要),而且如果避免将每个反斜杠都加倍,它看起来会更好一些——仅此而已。它还获得了一些流行来表示本机Windows文件路径(使用反斜杠而不是像在其他平台上那样使用常规斜杠),但这很少需要(因为普通斜杠在Windows上也能正常工作)和不完美(由于上面的“except”子句)。

r'...'是一个字节字符串(在Python 2.*中),ur'...'是一个Unicode字符串(同样,在python2.*中),其他三种引用也会生成完全相同类型的字符串(例如r'...',r'''...''',r"...",r"""..."""都是字节字符串,等等)。

不知道“goingback”是什么意思-没有本质上的后退和前进方向,因为没有原始字符串type,它只是一种替代语法,可以表示完全正常的字符串对象、字节或unicode。

是的,在Python2.*中,u'...'当然是而不是'...'--前者是unicode字符串,后者是字节字符串。文字的编码方式是完全正交的。

例如,考虑(Python 2.6):>>> sys.getsizeof('ciao')

28

>>> sys.getsizeof(u'ciao')

34

Unicode对象当然占用了更多的内存空间(显然,对于非常短的字符串来说,差别很小;-)。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值