python string良好实践:’vs“

python string good practise: ' vs "

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Single quotes vs. double quotes in Python

我已经看到,当我必须使用Python中的字符串时,以下两个sintax都可以接受:

1
2
mystring1  ="here is my string 1"
mystring2  = 'here is my string 2'

不管怎样,有什么区别吗?

是否出于任何原因,最好使用一种解决方案而不是另一种解决方案?

干杯,


不,没有。当字符串包含单引号时,用双引号括起来比较容易,反之亦然。除此之外,我的建议是选择一种风格并坚持下去。

另一种有用的字符串文本类型是可以跨多行的三重引号字符串:

1
2
3
s ="""string literal...
...continues on second line...
...and ends here"""

同样,这取决于你是使用单引号还是双引号。

最后,我想提到"原始字符串文字"。它们被封装在r"..."r'...'中,并防止转义序列(如
被这样解析。另外,原始字符串对于指定正则表达式非常方便。

阅读此处有关python字符串文本的更多信息。


虽然这两者之间没有区别,但我在开源社区中遇到了很多以下行为:

  • "表示需要阅读的文本(电子邮件、feeback、execption等)
  • 用于数据文本的'(key dict、函数参数等)
  • 三重",用于包含"'的任何文档字符串或文本。


python是获得最大效果的最少的代码量。越短越好。在某种程度上,'"短一个点,这就是我喜欢它的原因。:)


没有区别。

更好的是有争议的。我使用"..."作为文本字符串,使用'...'作为字符,因为这与其他语言是一致的,并且在移植到不同语言或从不同语言移植时可以节省一些按键。对于regexps和sql查询,我总是使用r'''...''',因为它们通常最后包含反斜杠和两种类型的引号。


我倾向于使用",因为这是大多数其他编程语言所使用的。

所以,习惯,真的。


不,只是款式问题。只要始终如一。


正如大家所指出的,它们在功能上是相同的。然而,PEP257(docstring约定)建议始终在docstring周围使用""",只是为了一致性。如果你不这样做,没人会冲你大喊大叫,也不会觉得你很糟糕,但事实就是这样。