【问题标题】:Difference between u"string" and ur"string" in Python [duplicate]Python中u“string”和ur“string”之间的区别[重复]
【发布时间】:2016-09-30 19:42:08
【问题描述】:

来自documentation

解决方案是使用 Python 的原始字符串表示法 表达模式;反斜杠不以任何特殊方式处理 以 'r' 为前缀的字符串文字。所以 r"\n" 是一个两个字符的字符串 包含'\'和'n',而“\n”是一个字符的字符串 包含换行符。通常模式将用 Python 表示 使用此原始字符串表示法的代码。

类型也匹配; type(u"text") == type(ur"text"),删除 u 时也是如此。因此,我不得不问:这两者有什么区别?如果没有区别,为什么要使用r

【问题讨论】:

  • 你在使用 Python 2 吗?

标签: python types


【解决方案1】:

例如:

>>> len(ur"tex\t")
5
>>> len(u"tex\t")
4

如果没有r\t一个 字符(制表符),因此字符串的长度为 4。

如果要构建涉及\ 的正则表达式,请使用r。在非r 字符串中,您必须转义这些,这并不好笑。

>>> len(u"\\")
1
>>> len(ur"\\")
2

【讨论】:

  • 补充一点:'r' 改变了 Python 解析器解释字符串的方式,即处理转义序列。它不会产生与 'u' 或 'b' 不同的类型。
猜你喜欢
  • 2013-06-25
  • 1970-01-01
  • 1970-01-01
  • 2012-09-09
  • 2011-06-14
  • 2019-11-29
  • 1970-01-01
  • 1970-01-01
  • 2014-02-18
相关资源
最近更新 更多