当前位置:首页>python>Python(四) 字符串详解

Python(四) 字符串详解

  • 2026-10-11 07:49:50
Python(四) 字符串详解

Python 字符串详解

从入门到玩转,一篇就够了

Python 学习笔记 · 第四篇

前面几篇我们聊了基础语法、流程控制和数字类型,今天来啃一块硬骨头——字符串。Python 处理字符串的能力特别强,可以说这是它最拿手的领域之一。不管是爬虫抓网页、处理用户输入,还是做数据分析,字符串操作都是基本功。

01先认识一下字符串基础

字符串就是用引号包起来的一串字符。在 Python 里,引号非常灵活,单引号、双引号、三引号都能用,效果基本一样。

单引号双引号效果一样,但字符串里有引号的时候要错开用。比如字符串本身包含英文单引号,那外面就用双引号包起来,反之亦然。三引号最大的用处不是多行字符串,而是写文档注释(docstring)。

Python
# 四种写法都行name = '小明'city = "北京"poem = '''春眠不觉晓处处闻啼鸟'''description = """这是一个很长的多行描述文字"""
02字符串的基本操作核心

访问字符

字符串像一排抽屉,每个字符都有自己的编号。要取出某个字符,只需要在方括号里写上编号就行。

这里要特别注意:索引从 0 开始。第一个字符的编号是 0,不是 1。这是新手最容易搞混的地方,一定要记住!

💡 小贴士

负索引是 Python 的特色,-1 代表最后一个,-2 代表倒数第二个,不用算长度。比如 fruit[-1] 就能直接拿到最后一个字符,非常方便。

Python
fruit = '草莓'# 取第一个字print(fruit[0])  # 草# 取最后一个字(负索引很方便)print(fruit[-1])  # 莓

切片操作

切片就像切蛋糕,可以一次性取出一段连续字符。语法是 [起始位置:结束位置],返回起始位置到结束位置之前的所有字符。

💡 小贴士

切片是左闭右开,url[4:10] 取的是第4到第9个字符,不包含第10个。新手经常在这踩坑,记住就理解了!

Python
url = 'www.python.org'# 取中间部分print(url[4:10])   # python# 从头取到第4个print(url[:4])     # www.# 从第11个取到末尾print(url[11:])    # org# 反转字符串(小技巧)print(url[::-1])   # gro.nohtyp.www

字符编码

计算机里每个字符都有一个对应的数字编号,叫做编码。ord() 可以查字符的编码,chr() 可以把编码转回字符。

💡 小贴士

做加密、字符判断的时候 ord() 特别好用。比如判断是不是大写字母:'A' <= ch <= 'Z'

Python
# 查字符的编码print(ord('中'))   # 20013print(ord('A'))    # 65# 编码转回字符print(chr(20013))  # 中print(chr(128512)) # 😀
◆ ─────── ◆
03转义字符技巧

有些字符在字符串里有特殊含义,比如引号本身、换行、制表符,直接写会出问题,这时候就需要转义字符——在前面加一个反斜杠 \ 来表示它的原义。

转义字符
作用
实例
\\
行尾续行,代码太长换行用
s = "很长很长\很长"
\n
换行,最常用
"第一行\n第二行"
\t
制表符,对齐用
"姓名\t年龄"
\r
回车
"进度100%\r完成"
\b
退格
"abc\bd" → "abd"
\000
空字符
"\000"

💡 小贴士

最常用的就是 \n(换行)和 \t(制表符),其他的基本用不到。如果你不想转义,在字符串前面加 r 就行,比如 r'\n' 就是一个反斜杠加n。

◆ ─────── ◆
04字符串运算符重点

字符串有自己的"运算规则",跟数字不太一样。下面用表格和例子来认识它们:

运算符
作用
举例
结果
+
拼接
"你好" + "世界""你好世界"
*
重复
"哈" * 3"哈哈哈"
[]
取单个字符
"你好"[0]"你"
[:]
切片
"你好世界"[1:3]"好世"
in
是否包含
"好" in "你好"True
not in
是否不包含
"坏" not in "你好"True
r/R
原样输出
r"\n不是换行"\n不是换行
Python
greeting = '你好'name = 'Python'# 拼接print(greeting + name)        # 你好Python# 重复print('哈' * 3)               # 哈哈哈# 判断包含print('好' in greeting)       # Trueprint('坏' not in greeting)   # True# 原样输出(不转义)print(r'C:\new\test')         # C:\new\test

💡 小贴士

+ 拼接字符串虽然方便,但如果要拼接很多个,用 join() 方法效率更高,后面会讲。

◆ ─────── ◆
05字符串格式化重难点

字符串格式化就是把变量的值塞进字符串里。这是 Python 里特别实用的技能,有三种写法:

方式一:% 占位符(老派写法)

这是早期的写法,有点像 C 语言的 printf,现在老代码里还能见到。

占位符
对应类型
举例
%s
字符串
"你好 %s" % "世界"
%d
整数
"数量:%d" % 5
%f
浮点数
"价格:%.2f" % 9.9

方式二:format() 方法

这是更灵活的写法,可以用位置、编号或者关键字来指定变量的位置。

Python
# 按位置print('{}今年{}岁'.format('小明', 18))# 按编号(可以重复用)print('{0}说:{1},{0}又说:好的'.format('老师', '上课了'))# 按关键字print('{name}考了{score}分'.format(name='小红', score=95))

方式三:f-string(强烈推荐!)

这是 Python 3.6+ 才有的写法,最简洁、最优雅!在字符串前面加个 f,然后在大括号里直接写变量名,太方便了!

Python
name = '小明'age = 18score = 95.5# 直接在大括号里写变量,太方便了print(f'{name}今年{age}岁,考了{score:.1f}分')# 甚至可以写表达式print(f'明年{age + 1}岁')print(f'名字长度:{len(name)}')

💡 小贴士

新手推荐直接学 f-string,写法最简单,可读性最好。% 格式化是老代码里常见的,能看懂就行。

◆ ─────── ◆

字符串是 Python 里用得最多的数据类型,这几个知识点日常开发几乎天天用到。f-string 务必掌握,用了就回不去了。下一篇我们聊聊字符串的常用方法,让操作更高效,记得关注!

关注后续更新 →

最新文章

随机文章