与数一样,字符串也是值:
>>> "Hello, world!"
'Hello, world!'
在这个示例中,有一点可能让你颇感意外:Python在打印字符串时,用单引号将其括起,而
我们使用的是双引号。这有什么差别吗?其实没有任何差别。
>>> 'Hello, world!'
'Hello, world!'
这里使用的是单引号,结果却完全相同。既然如此,为何同时支持单引号和双引号呢?因为
在有些情况下,这可能会有用。
>>> "Let's go!"
"Let's go!"
>>> '"Hello, world!" she said'
'"Hello, world!" she said'
在上述代码中,第一个字符串包含一个单引号(就这里而言,可能称之为撇号更合适),因
此不能用单引号将整个字符串括起,否则解释器将报错(做出这样的反应是正确的)。
>>> 'Let's go!'
SyntaxError: invalid syntax
在这里,字符串为'Let',因此Python不知道如何处理后面的s(更准确地说是当前行余下的
内容)。
第二个字符串包含双引号,因此必须使用单引号将整个字符串括起,原因和前面一样。实
际上,并非必须这样做(这样做只是出于方便考虑)。可使用反斜杠(\)对引号进行转义,如
下所示:
>>> 'Let\'s go!'
"Let's go!"
这样Python将明白中间的引号是字符串的一部分,而不是字符串结束的标志。虽然如此,
Python打印这个字符串时,还是使用了双引号将其括起。与你预期的一样,对于双引号可采用同
样的处理手法。
>>> "\"Hello, world!\" she said"
'"Hello, world!" she said'
像这样对引号进行转义很有用,且在有些情况下必须这样做。例如,在字符串同时包含单引号和双引号(如'Let\'s say "Hello, world!"')时,如果不使用反斜杠进行转义,该如何办呢?








暂无数据