Python面试题更新 2026-08-03

在 Python 编程语言里,字符串可以使用单引号或双引号来界定,这两者在语法和功能上存在哪些差异?请分别从字符串定义、转义字符处理、以及包含引号字符串的书写方式等角度进行说明。

考察说明

考查对 Python 基础语法中字符串界定符的理解,以及是否能清晰区分单引号与双引号在不同场景下的等效性与细微差别。

回答思路

  1. 【回答框架 1】在 Python 中,单引号和双引号在绝大多数情况下是完全等价的,都可以用来定义字符串。例如,'hello' 和 "hello" 表示同一个字符串。两者在底层都存储为相同的字符串对象,没有性能或功能上的区别。
  2. 【回答框架 2】区别主要体现在字符串内部包含引号时的处理方式。使用单引号包裹的字符串内部可以直接包含双引号,例如 '他说:"你好"',而使用双引号包裹的字符串内部可以直接包含单引号,例如 "It's a book"。这样做可以避免使用转义字符。
  3. 【回答框架 3】如果需要在字符串内部包含与界定符相同的引号,则必须使用反斜杠进行转义。例如,'It\'s a book' 或 "他说:\"你好\""。虽然转义可以解决,但直接使用不同种类的引号作为界定符会使代码更清晰。
  4. 【回答框架 4】在 Python 中,三引号(''' 或 """)用于多行字符串,可以保留换行符和内部引号,这是单双引号无法直接实现的功能。
  5. 【回答框架 5】从语义上讲,Python 不区分单引号和双引号,这与 C 语言等将单引号视为字符、双引号视为字符串的语言不同。在 Python 中,字符也是字符串,长度为 1。
  6. 【关键点 1】单双引号在 Python 中是等价的,无性能或语义差异
  7. 【关键点 2】内部引号与界定符不同时可直接书写,避免转义
  8. 【关键点 3】相同引号需用反斜杠转义,如 \' 或 \"
  9. 【关键点 4】三引号用于多行字符串,支持换行和保留引号
  10. 【关键点 5】Python 中字符即长度为 1 的字符串,单双引号均可定义