2013-05-21 42 views
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 "语义上完全相同吗?

+2

“因此搜索文档对我来说不是一个真正的选择” - 您总是可以先尝试,然后在失败时再来。 –

回答

1

没有

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

除非使用rR前缀转义序列解释。直出文档:

除非一个“R”或“R”前缀存在时,逸出根据类似于用于通过标准 C.

规则串 序列被解释你应该阅读文档,他们是一个很好的资源,社区是幸运的,人们已经做出了贡献python和它的通用图书馆非常有据可查。 (我的想法是)。

0

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

>>> r"""\n""" # raw string 
'\\n' 
>>> """\n""" # non-raw string 
'\n'