u 和 r 前缀如何与 python 中的字符串一起使用?
How does the u and r prefixes work with strings in python?
我知道我们可以在字符串前使用 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 如何知道它应该将字符串前面的 r
或 u
视为标志?或者作为特定的字符串文字?如果我想更多地了解什么是字符串文字及其局限性,我该如何学习它们?
u
和 r
前缀是字符串文字的一部分,如 python 语法中所定义。当 python 解释器解析文本命令以了解命令的作用时,它会将 r"foo"
读取为值为 "foo"
的单个字符串文字。另一方面,它将 b"foo"
读取为具有等效值的单字节文字。
更多信息,您可以参考python中的literals section文档。此外,python 有一个 ast
模块,可让您探索 python 解析命令的方式。
我知道我们可以在字符串前使用 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 如何知道它应该将字符串前面的 r
或 u
视为标志?或者作为特定的字符串文字?如果我想更多地了解什么是字符串文字及其局限性,我该如何学习它们?
u
和 r
前缀是字符串文字的一部分,如 python 语法中所定义。当 python 解释器解析文本命令以了解命令的作用时,它会将 r"foo"
读取为值为 "foo"
的单个字符串文字。另一方面,它将 b"foo"
读取为具有等效值的单字节文字。
更多信息,您可以参考python中的literals section文档。此外,python 有一个 ast
模块,可让您探索 python 解析命令的方式。