Python中' '和" "有什么区别?

13 投票
1 回答
51392 浏览
提问于 2025-04-16 11:27

可能的重复问题:
在Python中,“string”和' string'之间有什么区别吗?
Python中的单引号和双引号

我注意到在Python中,我可以用单引号和双引号来表示字符串,而且不管我用哪个引号来表示字符串,另一个引号我都可以在字符串内部自由使用,而不需要做任何处理。

举个例子:

ex1 = 'this works'
ex2 = "this works too"
ex3 = "it's much easier to write it's this way"
ex4 = 'but this way, it\'s possible to print out "quotes from other people"'

不过在其他编程语言中,我见过一些情况,有的地方引号的类型不重要(比如在JavaScript中,'hi'=="hi"'hi'==="hi"都会返回true),而有的地方则很重要(比如在C#中,"d"是一个string,而'd'是一个char

现在我在想,Python内部真的会区分这两种引号吗?我用'"有什么不同吗?如果有的话,具体是什么区别呢?

1 个回答

21

在运行时,这两种引号没有区别。它们之间唯一的不同就是你已经提到的:

  • 在单引号字符串里,如果想要使用单引号,就得加个反斜杠来转义,但在双引号字符串里就不需要。
  • 在双引号字符串里,如果想要使用双引号,同样需要加个反斜杠来转义,而在单引号字符串里就不用。

注意:如果你使用三重引号字符串("""foo"""'''bar'''),那么就不需要转义任何引号了(除非你在字符串里连续出现三个引号)。

撰写回答