当前位置:首页>python>每天10分钟玩转Python基础篇 - 字符串操作

每天10分钟玩转Python基础篇 - 字符串操作

  • 2026-09-25 12:28:30
每天10分钟玩转Python基础篇 - 字符串操作
PYTHON · 基础篇第4课2026.08

处理文本只会手动复制粘贴?

4步链路,玩转字符串

清洗 · 拆分 · 统计 · 拼接

飞污熊Python教程

PYTHONSTR

📦 3 Parts + Conclusion

👉 滑动

PART 01

通俗原理

不可变 + 序列

PART 02

完整代码

6 步实操

PART 03

踩坑总结

5 个常见坑

PART ///

写在最后

小结自检

这是基础篇第4篇,开始处理每天都要打交道的文本

8个方法 + 1个实战,搞定日常文本处理

这是基础篇第4篇。前几篇我们装好了 Python、用 uv 管好了项目,也学会了变量、判断和循环。今天开始处理真正每天都在打交道的数据:文本。你读的这句话,就是字符串。

看完这篇,你能用 Python 处理日常文本任务:清洗用户输入、拆分句子、拼接报告、统计一段文字里哪些词出现最多。代码我都实际跑过,你照着做就能看到一样的结果。整个内容围绕一个真实的例子展开:把一段聊天记录清洗干净,再统计高频词。

01

PART

前置知识

PREREQUISITES · 准备什么

会建 uv 项目

会运行 uv run python 文件名.py(第3篇讲过)。

变量和 print

知道变量是什么,会用 print() 输出。

for 和 if

知道 for 循环和 if 判断(第2篇讲过)。不熟的话翻回前几篇补一下。

02

PART

通俗原理

CONCEPTS · 字符串是什么

字符串就是一段文本,用引号包起来:单引号、双引号都行。它是 Python 里最常用的数据类型,几乎每个程序都要处理文本。

Python 里的字符串有两件重要的事:

字符串不可变

你不能改字符串里的某个字符,只能生成新的字符串。

字符串是序列

它像一串珠子,每个字符有位置编号(从0开始),可以按位置取、按范围切。

记住这两点,后面所有操作都好理解。

03

PART

完整代码

CODE · 6 步实操

STEP 01

拼接和重复

两个字符串用 + 接在一起,用 * 重复:

...python

print("hello" + " " + "world")

print("ab" * 3)

运行结果:

...output

hello world

ababab

STEP 02

按位置取值(索引)

— 从0开始编号,负数从尾部数,切片选一段

字符串里每个字符有编号,从0开始,也能用负数从尾部数:

...python

s = "飞污熊Python"

print(s[0])    # 第一个字符

print(s[1])    # 第二个字符

print(s[-1])   # 最后一个字符

运行结果:

...output

飞

污

n

注意飞污熊Python里,中文"飞"是第0个,英文"P"是第3个。Python 里中英文都算一个字符。

STEP 03

切片(切一段)

用 [开始:结束] 切出一段,注意结束位置不包含:

...python

s = "飞污熊Python"

print(s[0:3])   # 前3个字符

print(s[3:])    # 从第3个到末尾

print(s[::-1])  # 反转整个字符串

运行结果:

...output

飞污熊

Python

nohtyP熊污飞

s[::-1] 是切片的高级用法,-1 表示从后往前,一步反转字符串。

STEP 04

8个最常用的字符串方法

方法就是字符串"自带的功能",用 字符串.方法名() 调用:

...python

text = "  Hello, Python!  "

print(text.strip())          # 去掉两端空白

print("Hello World".lower()) # 转小写

print("hello world".upper()) # 转大写

print("a,b,c".split(","))    # 按逗号拆成列表

print(" ".join(["飞", "污", "熊"]))  # 用空格拼接

print("Hello World".replace("World", "飞污熊"))  # 替换

print("banana".count("an"))  # 统计出现次数

print("hello".find("ll"))    # 找位置,找不到返回-1

运行结果:

...output

Hello, Python!

hello world

HELLO WORLD

['a', 'b', 'c']

飞 污 熊

Hello 飞污熊

2

2

STEP 05

f-string 格式化

想把变量塞进字符串里,用 f-string,在引号前加 f,用 {} 包变量:

...python

name = "飞污熊"

age = 18

score = 92.5678

print(f"我是{name},今年{age}岁")

print(f"成绩:{score:.1f}分")   # 保留1位小数

print(f"补零:{7:03d}")        # 数字补零到3位

运行结果:

...output

我是飞污熊,今年18岁

成绩:92.6分

补零:007

{score:.1f} 意思是把 score 格式化成保留1位小数的浮点数,{7:03d} 是把7补零成3位。这是 Python 3.6 以后推荐、3.14 完整支持的写法。

STEP 06

完整案例:清洗聊天记录,统计高频词

现在把上面的方法串起来,解决一个真实问题:给你一段聊天记录,找出大家最常聊的词。

...python

from collections import Counter

raw = """

今天 天气 真好,Python 教程 更新 了!

Python 字符串 操作 很 实用。

字符串 是 Python 的 基础,字符串 处理 很 重要。

"""

# 第1步:按行拆分,去掉每行两端空白

lines = [line.strip() for line in raw.strip().splitlines()]

# 第2步:收集所有单词

all_words = []

for line in lines:

    # 把中文标点替换成空格(英文标点同理)

    for ch in ",。!、;:":

        line = line.replace(ch, " ")

    words = line.split()      # 按空白拆成单词

    all_words.extend(words)   # 合并进总列表

# 第3步:统计词频

counter = Counter(all_words)

print("总词数:", len(all_words))

print("不同词数:", len(counter))

print("Top 5:", counter.most_common(5))

运行结果:

...output

总词数: 21

不同词数: 16

Top 5: [('Python', 3), ('字符串', 3), ('很', 2), ('今天', 1), ('天气', 1)]

这个例子把前面学的都用上了:strip 清洗、split 拆分、replace 去标点、Counter 统计。换成你自己的聊天记录、文章、评论,就能跑出高频词分析。

04

PART

运行结果

RESULTS · 实测汇总

所有命令我都实际跑过,汇总:

操作
代码
结果
拼接
"ab" * 3
ababab
索引
s[-1]
最后一个字符
切片
s[::-1]
反转
去空白
"  hi  ".strip()
hi
拆分
"a,b".split(",")
['a', 'b']
拼接
" ".join(["a","b"])
a b
替换
"ab".replace("a","x")
xb
计数
"banana".count("an")
2
查找
"hello".find("ll")
2
f-string
f"{3.14:.2f}"
3.14

05

PART

踩坑总结

PITFALLS · 常见坑

!字符串不能原地修改 🕳

s[0] = "x" 会报 TypeError。要改就生成新字符串,用 replace 或拼接。

!切片不含结尾 🕳

s[0:3] 取第0、1、2个,不取第3个。记法:左闭右开。

!split 默认按空白拆 🕳

"a b  c".split() 拆成 ['a', 'b', 'c'],多个空格自动合并;按指定符号拆才传参数。

!中英文都算一个字符 🕳

"飞污熊Python"[3] 是 P。Python 按字符索引,不用担心中文字节问题。

!f-string 忘了 f 🕳

写 "{name}" 而不是 f"{name}",输出就是字面量 {name} 而不是变量值。

06

PART

进阶拓展

NEXT · 还能做什么

字符串处理还能做更多:正则表达式可以匹配复杂模式(邮箱、电话号码),str.translate 可以做字符映射,textwrap 能控制段落换行。这些后面讲到再展开。现在先把今天这8个方法练熟,它们已经能解决大部分日常文本问题。

///

LAST

写在最后

SUMMARY · 小结自检

今天你学会了 Python 字符串处理:

基础操作

+ 拼接、* 重复、索引取值、切片切段。

8个核心方法

strip、lower、upper、split、join、replace、count、find。

f-string

用 f"{变量}" 格式化字符串。

实战

清洗文本 + 词频统计。

自检清单

1

能说出字符串为什么不可变,以及怎么"修改"它

2

能写出切片取前3个字符、取倒数第2个字符

3

能把 "a,b,c" 转成 "a b c"(先 split 再 join)

4

能用 f-string 输出保留2位小数的数字

5

能对一段文本做词频统计

字符串是 Python 里的"万能数据类型",多练几遍就熟了。

我是飞污熊,专注于分享Python编程和AI技术,大道至简。

既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。

点赞
在看
转发

THANKS FOR READING

最新文章

随机文章