我已经看到,当我必须在Python中使用字符串时,接受以下两个sintax:
mystring1 = "here is my string 1"
mystring2 = 'here is my string 2'
无论如何有什么不同吗?
是否出于任何原因更好地使用一种解决方案而不是另一种解决方案?
干杯,
答案 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)建议始终在文档字符串中使用"""
只是为了保持一致性。如果你不这样做,没有人可能会对你大喊大叫,或者对你不好,但事实就是如此。