python string良好实践:'vs“

时间:2011-10-28 12:12:02

标签: python string syntax

  

可能重复:
  Single quotes vs. double quotes in Python

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

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

无论如何有什么不同吗?

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

干杯,

7 个答案:

答案 0 :(得分:5)

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

另一种有用的字符串文字是三引号字符串,可以跨越多行:

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

同样,由您决定是使用单引号还是双引号。

最后,我想提一下“原始字符串文字”。它们包含在r"..."r'...'中,并防止转义序列(例如\n)被解析。除此之外,原始字符串文字对于指定正则表达式非常方便。

阅读有关Python字符串文字here的更多信息。

答案 1 :(得分:3)

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

  • "用于阅读的文本(电子邮件,反馈,执行等)
  • '用于数据文本(关键字,函数参数等)
  • 对于包含"" 的任何文档字符串或文字,
  • 三倍'

答案 2 :(得分:1)

没有。只是风格问题。只是保持一致。

答案 3 :(得分:1)

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

所以,习惯,真的。

答案 4 :(得分:1)

没有区别。

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

答案 5 :(得分:1)

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

答案 6 :(得分:0)

正如大家所指出的,它们在功能上是相同的。但是,PEP 257 (Docstring Conventions)建议始终在文档字符串中使用"""只是为了保持一致性。如果你不这样做,没有人可能会对你大喊大叫,或者对你不好,但事实就是如此。