1

我知道我们可以在字符串之前使用 r(raw string) 和 u(unicode) 标志来获得我们可能真正想要的。但是,我想知道这些如何与字符串一起使用。我在 IDLE 中试过这个:

a = r"This is raw string and \n will come as is"
print a
# "This is raw string and \n will come as is"
help(r)
# ..... Will get NameError
help(r"")
# Prints empty

Python 如何知道它应该将字符串前面的ror视为标志?u或者作为具体的字符串文字?如果我想更多地了解什么是字符串文字及其限制,我该如何学习它们?

4

1 回答 1

1

ur前缀是字符串文字的一部分,如 python 语法中所定义。当 python 解释器解析文本命令以了解命令的作用时,它会读取r"foo"为带有 value 的单个字符串文字"foo"。另一方面,它读取b"foo"为具有等效值的单字节文字。

有关更多信息,您可以参考 python 文档中的文字部分。此外,python 有一个ast模块,允许您探索 python 解析命令的方式。

于 2016-10-04T10:56:28.720 回答