09
字符串格式化
字符串进阶:把“原始文本”变成“可处理数据”
你现在可能会困惑什么
“我会 print 和 replace 了,还要进阶什么?”
真实业务里的文本通常很脏:空格乱、分隔符乱、大小写乱。 进阶重点是“标准化输入”。
一句话定义
字符串进阶处理是用拆分、拼接、查找和统计,把混乱文本变成结构化信息。
生活类比
像快递分拣:先拆包(split)、归类(clean)、再重新打包(join)。
最小可运行例子
line = "python,sql,git"
skills = line.split(",")
print(skills) # ['python', 'sql', 'git']
print("|".join(skills)) # python|sql|git
高频方法
text = "python python ai"
print(text.find("ai")) # 14
print(text.count("python")) # 2
print(text.replace("ai", "AI"))
清洗流程示例
raw = " USER@EXAMPLE.COM "
clean = raw.strip().lower()
print(clean) # user@example.com
课堂小测(5 分钟)
- 把
a,b,c变成a|b|c。 - 统计一句话里关键词出现次数。
- 清洗 3 个 email 并输出列表。
课堂小测参考答案与判分点
- 参考答案方向:能写出可运行代码,并覆盖题目中的核心条件与边界输入。
- 判分点 1(正确性):主流程结果正确,关键分支可执行。
- 判分点 2(可读性):变量命名清晰,结构不过度嵌套。
- 判分点 3(健壮性):对空值、类型错误或异常输入有基础保护。
迁移任务(课后)
实现 normalize_tags(text):
- 输入:
" Python, AI ,data " - 输出:
["python", "ai", "data"]
本节验收标准
你能独立做到:
- 用
split/join/find/count/replace处理文本 - 写出一条稳定的字符串清洗链路
- 将原始文本转成结构化列表
常见报错与调试步骤(新手版)
- 报错看不懂:先读最后一行错误类型(如
TypeError、NameError),再回到对应代码行定位。 - 不确定变量值:在关键位置临时
print(变量, type(变量)),先确认数据是否符合预期。 - 改了代码却没生效:确认文件已保存、运行的是当前文件、终端环境(venv)是否正确。
常见误区
-
误区:
find()找不到会报错。 -
正解:找不到返回
-1。 -
误区:输入直接拿来比对。
-
正解:先
strip + lower再比对。