Python字符串的最佳实践:' vs " (单引号 vs 双引号)

7

可能重复:
Python中单引号和双引号的区别

我发现在Python中处理字符串时,以下两种语法都被接受:

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

有什么区别吗?

使用一种解决方案比另一种更好的原因是什么?

干杯,


你们认为最流行的方式是什么? - Stefano
3
做好工作的那个人。 :) 当你需要将单引号包含起来时,使用双引号,反之亦然。在日常使用中,使用自己喜欢的方式即可。 - AlG
4
我倾向于使用 ',因为只需要按一个键而不是两个键。 - Rob Cowie
肯定是重复的。拜托,你连搜索功能都没用对吧? - Bite code
7个回答

6

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

另一种有用的字符串字面量类型是跨越多行的三引号字符串:

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

对于这个问题,你可以选择使用单引号或双引号。

最后,我想提到“原始字符串字面量”。它们被包含在r"..."r'...'中,防止转义序列(例如\n)被解析为此类。除其他外,原始字符串字面量非常方便用于指定正则表达式。

这里了解有关Python字符串字面量的更多信息。


1
关于原始字符串的一个误解是,有些人认为它们是一种特殊类型的字符串。实际上并非如此,前导的 'r' 只是告诉解释器对后面的文本以另一种方式进行处理,将反斜杠视为普通字符。结果是获得了一个普普通通的字符串。因此,我总是使用术语“原始字符串字面值”,这样就把原始性放在了字面值上,而不是你最终得到的字符串上。 - PaulMcG

2

虽然说在引号使用上没有什么差别,但我在开源社区中发现了以下行为:

  • " 用于需要阅读的文本(如电子邮件、反馈、异常等)
  • ' 用于数据文本(例如键字典、函数参数等)
  • 三个" 用于任何包含"'的文档字符串或文本

我一直使用 ''' 来撰写文档字符串,因为这样可以少按一个键。希望这不会让我的项目显得不够严谨 :) - Xion
没有理由不这样做。我只是从来没有见过它。但这只是在QWERTY键盘上少按几次键,而不是全世界所有键盘都适用。在我的键盘上,双引号“”更容易使用。 - Bite code
哈哈,我刚刚在 Python 源代码中使用了 grep 命令。它充满了 '''。好吧,我想我必须删除那个断言 :-p - Bite code
对于根据目的地使用 '" 的想法表示赞同,虽然它并不是非常有用,但我喜欢这个概念,会看看我能做些什么 :-) - Joël

1

不是问题,只是风格的问题。保持一致就好。


1

我倾向于使用",因为大多数其他编程语言都使用它。

所以,这只是一种习惯而已。


我更喜欢使用 ',因为在我的键盘上不需要按 Shift 键,而 " 需要。这只是习惯问题! - heltonbiker

1

没有什么区别。

哪个更好是有争议的。我使用"..."表示文本字符串,而使用'...'表示字符,因为这符合其他语言的一致性,并且在移植到/从不同的语言时可以节省一些按键。对于正则表达式和SQL查询,我总是使用r'''...''',因为它们通常包含反斜杠和两种类型的引号。


1

Python 编程注重用最少的代码实现最大的效果,越短越好。而 '" 稍微短了一点,这也是我更喜欢它的原因。:)


0
正如大家所指出的那样,它们在功能上是相同的。然而,PEP 257 (Docstring Conventions) 建议始终在文档字符串周围使用 """,仅出于一致性的目的。如果你不这样做,没有人会对你大喊大叫或者对你评头论足,但是建议还是这样做。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接