Python:什么样的文字分隔符“更好”使用?

时间:2009-08-21 16:26:43

标签: python string

Python中最好的文字分隔符是什么?为什么?单身'还是双人'?最重要的是,为什么?

我是Python的初学者,我只想坚持一个。我知道在PHP中,例如“首选,因为PHP不会尝试搜索'string'变量。在Python中是否也是这样的情况?

8 个答案:

答案 0 :(得分:9)

'因为它的击键次数少于“。保存你的手腕!

它们在其他方面是相同的(除非你必须逃避任何你选择使用的,如果它们出现在字符串内)。

答案 1 :(得分:9)

考虑这些字符串:

"Don't do that."
'I said, "okay".'
"""She said, "That won't work"."""

哪个引用是“最好的”?

答案 2 :(得分:3)

从语义上讲,Python没有区别;使用其中之一Python还提供了方便的三重字符串分隔符“”“或''',它可以简化多行引号。还有原始字符串文字(r”...“或r'...')来禁止\转义。 Language Reference包含所有详细信息。

答案 3 :(得分:1)

对于包含single quote的字符串常量,请使用double quote作为分隔符。

反过来说,如果你需要double quote

快速,无移动输入会导致single quote分隔符。

>>> "it's very simple"
>>> 'reference to the "book"'

答案 4 :(得分:0)

单引号和双引号在Python中的行为相同。 Escapes(\n)始终有效,并且没有变量插值。 (如果您不想要转义,则可以使用r标记,如r"\n"中所示。)

由于我来自Perl背景,因此习惯使用单引号作为普通字符串,使用双引号作为%运算符使用的格式。但实际上没有区别。

答案 5 :(得分:0)

其他答案是关于嵌套引用。我遇到的另一种观点,但我不确定我订阅的是,对于字符使用单引号(')(这是字符串,但ord / chr很快挑剔)并使用双引号对于字符串。这消除了应该是一个字符的字符串和恰好是一个字符的字符串之间的歧义。

我个人认为大多数触摸打字员不会受到使用shift键的“负载”的显着影响。 YMMV就是那个部分。走下去“不使用班次的速度更快”是一个滑坡。使用超精简变量/函数/类/模块名称也更快。每个人都非常喜欢快速和简短的8.3 DOS文件名。 :)选择对你有意义的东西,然后进行优化。

答案 6 :(得分:0)

这是我听说的规则:

“)如果字符串用于人类消费,即界面文本或输出,请使用”“

')如果字符串是说明符,如字典键或选项,请使用''

我认为这样一个执行良好的规则对于一个项目来说是有意义的,但我个人并不关心这一点。我喜欢上面的内容,因为我读过它,但我总是使用“”(因为我第一次学习了C?)。

答案 7 :(得分:0)

我认为没有一个最好的字符串分隔符。我喜欢使用不同的分隔符来表示不同类型的字符串。具体来说,我喜欢使用"..."来分隔用于插值的stings或自然语言消息,并'...'来分隔小符号类字符串。这为字符串文字的预期用法提供了一个微妙的额外线索。

我尝试始终使用原始字符串(r"...")作为正则表达式,因为(1)我不必转义反斜杠字符和(2)我的编辑器识别此约定并在正则表达式中进行语法突出显示。

question 56011中涵盖了单引号和双引号的风格问题。