Python中' '和" "有什么区别?
可能的重复问题:
在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'''
),那么就不需要转义任何引号了(除非你在字符串里连续出现三个引号)。