TheZTHEZ / UNDERSTANDING FIRST
Python 入门入门18 分钟阅读

字符串:处理文字信息

学习索引、切片、长度、清理与替换,用字符串表达可读信息。

在浏览器中练习 →进度只保存在本机。

学习目标

  • 分清索引与切片。
  • 使用 strip 与 replace 得到新字符串。
  • 用 f-string 清晰地组合文字和变量。

概念解释

字符串是有顺序的文本。索引从 0 开始,text[0] 是第一个位置;负索引从末尾倒数,text[-1] 是最后一个位置。切片 text[start:end] 包含起点、不包含终点;省略起点或终点表示延伸到相应边界。访问不存在的单个索引会报错,切片一般会自动截到有效范围。

len 返回长度。Python 字符串按 Unicode 码位处理,不应简单把它当作文件字节长度或所有场景中的视觉字符数。本节的常见汉字与英文字母可直接观察,复杂表情与组合字符另需更细致处理。

strip 去掉两端空白,replace 替换指定文字。字符串不可原地修改,这些方法返回新字符串;要保存变化,需要重新赋值。f-string 在引号前加 f,并在花括号内读取变量,适合组织提示信息。不要在花括号中塞入复杂逻辑,可先计算再显示。

完整代码示例

将下面代码完整复制到运行器,先运行原例,再一次只修改一个地方。

text = "  开始学习 Python  "
text = text.strip()
print(text)
print(len(text))
print(text[0])
print(text[-6:])
print(text.replace("Python", "AI"))
name = "小林"
print(f"欢迎,{name}!")

逐行代码讲解

  1. 第 1 行保存带有两端空格的文字。
  2. 第 2 行去掉两端空白并把新结果赋回 text。
  3. 第 3 行输出清理后的正文。
  4. 第 4 行输出 11:四个汉字、一个空格、六个英文字母。
  5. 第 5 行索引 0 得到“开”。
  6. 第 6 行取最后六个位置,得到 Python。
  7. 第 7 行显示替换结果,原 text 仍未改变。
  8. 第 8 行定义姓名。
  9. 第 9 行 f-string 把 name 的当前值插入文字。

实际运行结果

以下输出已在 Python 3 中执行核对。代码和输出分别放在不同区域;不要把输出当作代码。

开始学习 Python
11
开
Python
开始学习 AI
欢迎,小林!

常见错误

  • 忘记把 strip 结果赋回变量,导致原文仍带空格。
  • 使用空字符串的 text[0] 会产生 IndexError,先检查是否为空。
  • 缺少 f 前缀时,“{name}” 会原样显示花括号文字。

实践练习

清理 ” data.csv ” 两端空白,再将 .csv 替换为 .txt。输出清理后名字及新名字,确认原清理后的名字没有被自动修改。

先独立作答再查看参考。能运行还不够,请解释结果为什么正确。

参考答案

filename = "  data.csv  ".strip()
new_filename = filename.replace(".csv", ".txt")
print(filename)
print(new_filename)
assert filename == "data.csv"
assert new_filename == "data.txt"

输出 data.csv 与 data.txt。该替换只处理文字,不会改名或访问真实文件;文件操作将在项目中单独学习。

换个角度理解

像给一件物品贴标签。标签可以移到另一件物品上;另一张写着旧价格的收据,不会因为标签变了就自动改金额。列表可以被多个名字指向,同一列表的修改会被它们共同看到。

STEP 01计算右侧表达式
STEP 02得到一个值 / 对象
STEP 03绑定左侧名称

把输入、中间结果和输出分别命名,可以读懂每一步,也便于检查。total = price * count 比重复写一个魔法数字更容易维护。

动手观察:一步一步执行

这是当前知识点的独立教学示例,不是本课所有 Python 语法的模拟。修改参数、预测结果,再按下一步验证。完整语言练习使用可信代码运行器。

EXECUTION / 可操作的程序状态

把每一步,看明白

本地受限解释器
参数改变所选示例的数值;执行从头开始。

变量与作用域

输出

每步显示该语句求值后的快照;第 0 步尚未执行。条件行显示判断结果,函数调用单独显示进入与返回。自动播放可随时暂停,默认不会启动。

CHECK YOUR UNDERSTANDING

自己判断,才知道哪里没懂

先选答案再核对。答错会提供原因和补学方向,不影响课程完成进度。

基础 x = 3;y = x;x = 5。y 是多少?

应用 a = 2;b = a * 4;a = 3。b 是多少?

迁移 要让 total 跟随新 count 更新,需要什么?

尚未提交练习。知识掌握度和学习进度分别记录。

把你卡住的代码或错误交给理解引擎 →

这一节,你理解到哪里了?

这是你的自我反馈,与练习估计、课程进度分别记录。

本文为TheZ原创教学内容。正文采用 CC BY-NC-SA 4.0,代码采用 MIT 许可。请尊重署名与授权范围。