Python3 字符串基础:引号类型、转义与数字运算详解

Jasper
Jasper
发布时间:2026-10-13| 6人浏览过
原创

本文详解Python3中字符串的三种表现形式:单引号、双引号及三引号,重点解析单引号内嵌撇号的转义处理、三引号换行特性及反斜杠续行技巧。同时阐明字符串与数字的运算逻辑:同类型字符串可拼接,但字符串与数字直接相加会报错,而字符串支持乘法运算实现重复输出。

Python3字符串概述

在Python3中,字符串是最基础且常用的数据类型之一。

字符串主要包含三种表现形式:单引号、双引号以及三引号。无论采用哪种形式,引号必须成对出现,即起始和结束符号需保持一致。

引号类型与基本定义

单引号和双引号分别对应英文状态下的 ' 和 ",而三引号则由三个连续的单引号 ''' 或三个连续的双引号 """ 构成。在Python中,这三种引号的使用没有优先级顺序之分。只要在一对匹配的引号之间添加内容,即可构成字符串,例如:


#单引号#
'123' '小明' 'xyz'
 
#双引号#
"123" "小明" "xyz"

单引号与转义处理

关于单引号的使用细节:

单引号在编程中较为特殊,因为英文语法中常包含缩写形式,例如 'what is your name?' 或 'what's your name?'。若在Python3中直接使用单引号包裹包含撇号的句子,如 'what's your name?',程序会报错。

这是因为Python解释器不识别自然语言的语法规则,仅检查代码语法。当输入 'what's your name?' 时,Python会将 'what' 识别为第一个字符串,而将剩余的 s your name?' 视为语法错误的残留部分,从而导致错误。

解决此问题的正确方法是使用双引号包裹字符串。当然,若坚持使用单引号,可以通过转义字符 \ 来处理内部的单引号。请注意,转义字符是反斜杠 \ 而非正斜杠 /,具体用法如下:


#双引号#
>>> "what's your name?"
"what's your name?"
 
#单引号加转义字符#
>>> 'what\'s your name?'
"what's your name?"

三引号与换行技巧

关于三引号的使用场景:

三引号的主要优势在于支持多行字符串。当代码或文本过长时,使用三引号(必须成对,即开始和结束均为单引号或均为双引号)可以实现自然的换行输出,便于阅读和理解。

需要注意的是,直接在三引号中换行输入,最终生成的字符串内部会包含换行符 \n。这是因为在输入时敲击回车键实际上插入了一个不可见的换行字符,Python将其表示为 \n。

此外,单引号和双引号字符串也可以通过在行尾添加反斜杠 \ 来实现逻辑上的换行输入,从而保持代码的一行性。

关于转义字符 \n 的另一个重要应用:在 print 函数中直接使用 \n,可以实现输出内容的分行显示,且控制台不会显示 \n 本身。尽管代码书写时仍为一行,但输出效果为多行,示例如下:


#print+转义字符\n,输出结果换行#
>>> print ('123\n456\n789')
123
456
789
 
>>> print ("123\n456\n789")
123
456
789
 
>>> print ('''123\n456\n789''')   
123
456
789
 
>>> print ("""123\n456\n789""")   
123
456
789
 
 
#\换行(单双三引号都一样,所以就只展示一个单引号)#
>>>'123\
123\
123'  
'123123123'
 
 
#三引号换行#
>>> '''
123
456
789
'''
'\n123\n456\n789'
 
>>> """123
456
789"""
'123\n456\n789'
 
#还有一点,三引号和加\的单双引号,不论引号是在哪里都可以,只要包含字符就可以#

字符串与数字的运算规则

需要区分的是,Python中的字符串 '123' 与数字 123 是完全不同的类型。如果执行数字之间的加法运算,例如 123 + 456,结果将是数值 579。

如果执行两个字符串之间的加法运算,例如 '123' + '456',Python会将它们视为文本拼接,结果为字符串 '123456'。

然而,如果尝试将字符串与数字直接相加,例如 '123' + 456,Python会抛出类型错误(TypeError),因为这两种类型不能直接混合运算。具体报错信息如下:


#数字加数字#
>>> 123+456
579
 
#字符加字符#
>>> '123'+'456'
'123456'
 
#字符与数字相加#
>>> '123'+456
Traceback (most recent call last):
 File "<pyshell#2>", line 1, in <module>
  '123'+456
TypeError: can only concatenate str (not "int") to str

虽然字符串与数字不能相加,但它们可以相乘。在Python中,字符串乘以整数 n 表示将该字符串重复输出 n 次。示例如下:


#在python中*代表乘法,/代表保留小数点的除法,//代表只保留整数的除法,+代表加法,——代表减法#
 
>>> '123'*3
'123123123'
 
>>> '重要的事'*3
'重要的事重要的事重要的事'

需要注意的是,字符串与字符串之间不能进行乘法运算,即 'a' * 'b' 是非法操作。

以上内容涵盖了Python3中字符串的基本用法、引号差异、转义处理以及与数字的运算规则,希望对读者有所帮助。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。