一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Python中单引号、双引号、三重引号的用法、区别及常见问题详细说明

时间:2026-08-11 11:31:51 编辑:袖梨 来源:一聚教程网

处理Python中单引号、双引号、三重引号的用法、区别及常见问题详细说明这类问题时,先确认目标场景,再按步骤核对配置或玩法细节。

一、它们都是用来写“字符串”的

在 Python 里,字符串就是一段文字。要把文字写进代码,必须用引号包起来,否则 Python 会把它当成变量名或别的语法。

Python中单引号、双引号、三重引号的用法、区别及常见问题详解

用来包字符串的引号有三种形式:

写法名称示例
'...'单引号'你好'
"..."双引号"你好"
'''...'''"""..."""三重引号(三单或三双)'''多行'''

下面分别说明各自的特点和区别。

二、单引号'...'

2.1 基本用法

一对单引号把文字包起来,就得到一个字符串。

s = '你好'print(s)          # 输出:你好s = 'Hello'print(s)           # 输出:Hellos = '123'          # 这也是字符串,不是数字print(s, type(s))  # 输出:123 <class 'str'>

2.2 什么时候单引号特别方便?

当字符串里面包含双引号时,用单引号包外面,里面的双引号就不用“转义”,写起来更简单。

# 字符串内容里有双引号 "s = '他说:"你好!"'print(s)   # 输出:他说:"你好!"s = '请选择 "确定" 或 "取消"'print(s)   # 输出:请选择 "确定" 或 "取消"

如果外面也用双引号,里面的双引号就必须加反斜杠转义(见第五节),比较麻烦。

三、双引号"..."

3.1 基本用法

一对双引号把文字包起来,同样得到一个字符串。和单引号在功能上没有区别

s = "你好"print(s)          # 输出:你好s = "Hello"print(s)           # 输出:Hello

3.2 什么时候双引号特别方便?

当字符串里面包含单引号(撇号)时,用双引号包外面,里面的单引号就不用转义。

# 字符串内容里有单引号 's = "It's a nice day"print(s)   # 输出:It's a nice days = "我's 小明"print(s)   # 输出:我's 小明s = "don't"print(s)   # 输出:don't

如果外面也用单引号,写成 'It's a nice day',Python 会认为字符串在第二个单引号就结束了,后面就会报错。所以这种情况用双引号更省事。

四、单引号和双引号:总结对比

4.1 对 Python 来说,效果一样

对于不包含引号的普通文字,用单引号还是双引号,结果完全一样。

a = '你好'b = "你好"print(a == b)   # True,两者相等print(a)        # 你好print(b)        # 你好

4.2 区别只在于“方便程度”

字符串里包含推荐外面用原因
双引号 "单引号 '里面双引号不用转义
单引号 '双引号 "里面单引号不用转义
两种都有任选一种,另一种用转义 见下一节

示例:里面既有单引号又有双引号

可以选一种包外面,另一种用反斜杠转义:

# 外面用双引号,里面的双引号要转义s = "他说:"It's OK.""print(s)   # 输出:他说:"It's OK."

五、转义:在字符串里写出引号本身

有时必须“外面和里面用同一种引号”,这时就要用 反斜杠 告诉 Python:这个引号是内容的一部分,不是字符串的结束。

5.1 在双引号字符串里写双引号

# 错误:中间的双引号会让 Python 认为字符串结束了# s = "他说:"你好""   # 语法错误# 正确:用 "s = "他说:"你好""print(s)   # 输出:他说:"你好"

5.2 在单引号字符串里写单引号

# 错误:第二个单引号会提前结束字符串# s = 'It's OK'   # 语法错误# 正确:用 's = 'It's OK'print(s)   # 输出:It's OK

5.3 常见转义字符(顺便了解)

在字符串里, 后面跟特定字符有特殊含义:

写法含义示例
'一个单引号'It's' → It’s
"一个双引号" say "Hi" " → say “Hi”
n换行"anb" 打印成两行
t制表符(Tab)"atb" 中间一个 Tab
一个反斜杠"C:path" → C:path
print("第一行n第二行")# 第一行# 第二行print("姓名t年龄")# 姓名    年龄print("路径:C:Usersadmin")# 路径:C:Usersadmin

六、三重引号'''...'''和"""..."""

三重引号就是连续三个单引号连续三个双引号。用来包字符串时,有两个主要用途。

6.1 用途一:写多行字符串(换行可以直接写)

单引号和双引号只能写一行。如果字符串要跨多行,可以:

  1. 用三重引号把整段包起来,中间直接回车换行;或
  2. n 写在单行里(不方便阅读)

示例:多行字符串

# 用三双引号text = """第一行第二行第三行"""print(text)# 第一行# 第二行# 第三行# 用三单引号,效果一样text = '''第一行第二行第三行'''print(text)

多行字符串里可以有单引号和双引号

只要内容里没有连续三个单引号或三个双引号,一般不需要转义:

s = """他说:"It's a good day."然后笑了。"""print(s)

6.2 用途二:文档字符串(docstring)

在函数、类或模块的开头写一个用三重引号包起来的字符串,叫 文档字符串,用来说明这段代码是干什么的。工具和帮助系统会读取它。

def greet(name):    """向 name 打招呼。这是文档字符串。"""    print("你好,", name)# 查看文档字符串print(greet.__doc__)   # 输出:向 name 打招呼。这是文档字符串。

小结:三重引号

  1. 三单 '''三双 """ 在当字符串用时没有区别,选一种即可。
  2. 都能写多行、都能包含单引号和双引号(除非内容里出现三个连着的同种引号)。
  3. 除了多行字符串,还常用于函数/类的说明(docstring)。

七、三重引号 vs 单引号/双引号:对比

特性单引号 ' / 双引号 "三重引号 ''' / """
行数只能一行可以多行
内容里的引号同种引号要转义或换另一种单双引号一般可直接写
常见用途短字符串、一行文字多行文字、文档说明

示例对比:同一段多行内容

# 用单引号/双引号:必须写 ns1 = "第一行n第二行n第三行"print(s1)# 用三重引号:直接回车s2 = """第一行第二行第三行"""print(s2)# 上面两种打印结果相同

八、实际使用建议(新手可照做)

  1. 普通一行字符串

    用单引号或双引号都行;若内容里有双引号,外面用单引号;若内容里有单引号,外面用双引号,这样不用转义。

  2. 多行字符串

    '''...'''"""...""",中间直接换行即可。

  3. 风格尽量统一

    比如项目里短字符串都用双引号,多行都用三双引号,读起来更一致。

示例:综合运用

# 短字符串:内容有双引号,外面用单引号msg = '请点击 "确定"'# 短字符串:内容有单引号,外面用双引号msg2 = "It's OK"# 多行:用三引号help_text = """使用说明:1. 输入姓名2. 输入年龄3. 按回车"""print(help_text)

九、常见错误示例

9.1 引号不匹配

# 错误:只有一个单引号和一个双引号,不配对# s = '你好"    # 语法错误# s = "你好'    # 语法错误# 正确:成对出现s = '你好's = "你好"

9.2 内容里的引号提前“结束”了字符串

# 错误:中间的 " 会让 Python 认为字符串结束# s = "他说:"你好""   # 语法错误# 正确:外面用单引号,或里面用 "s = '他说:"你好"'# 或s = "他说:"你好""

9.3 三引号只写了两个

# 错误:只写两个引号不是“三重引号”,会报错或含义不同# s = ''第一行# 第二行''   # 错误# 正确:必须是三个s = '''第一行第二行'''

十、小结表

引号类型写法示例主要特点与用途
单引号'文字'一行;内容里有双引号时用单引号包外面方便
双引号"文字"一行;内容里有单引号时用双引号包外面方便
三单引号'''多行'''多行;可含单双引号;常作 docstring
三双引号"""多行"""同上,与三单引号二选一即可
若字符串里要写…做法
和外面同种的引号'" 转义
换行n,或用三重引号直接回车

热门栏目