0

从一个教程:

print """ Usage: thingy [OPTIONS]
     -h                        Display this usage message
     -H hostname               Hostname to connect to """

产生以下输出:

Usage: thingy [OPTIONS]
     -h                        Display this usage message
     -H hostname               Hostname to connect to

hello = r"This is a rather long string containing\n\
several lines of text much as you would do in C."

print hello

会打印:

This is a rather long string containing\n\
several lines of text much as you would do in C.

这向我表明,"""符号只是原始字符串的语法糖。我对 python 完全陌生,所以搜索文档对我来说并不是一个真正的选择。

""" text """r" text "语义上完全相同吗?

4

2 回答 2

1

print """A\nB"""
print "----"
print r"A\nB"
>>> 
A
B
----
A\nB

除非您使用rR前缀转义序列被解释。直接从文档中:

除非出现“r”或“R”前缀,否则字符串中的转义序列将根据与标准 C 使用的规则类似的规则进行解释。

应该阅读这些文档,它们是一个很好的资源,社区很幸运人们为 Python 做出了贡献,而且它的公共库有很好的文档记录。(在我看来)。

于 2013-05-21T10:24:19.853 回答
0

原始字符串和三引号字符串只是同一事物的不同语法:字符串。三引号可以是原始的或常规的。

>>> r"""\n""" # raw string
'\\n'
>>> """\n"""  # non-raw string
'\n'
于 2013-05-21T10:25:42.937 回答