这套课程按知识依赖排列。本篇的前置知识是:第 06 篇。学完后,你应该能够读取、截取和组合字符串。
本篇要解决的问题
本篇只处理“字符串的创建、索引与切片”这一件事。示例基于 Python 3.14.6,在 macOS 环境核验;除明确标注的终端命令外,代码本身只使用 Python 标准能力。
先看清一个容易误解的细节
切片 [start:stop] 包含起点,不包含终点。这个半开区间规则让切片长度容易计算:在步长为 1 时,长度通常是 stop - start。
核心概念
- 字符串是不可变的字符序列,不能直接替换某个索引位置。
- 正索引从 0 开始,负索引从 -1 开始反向定位。
- 切片会创建新的字符串,不会修改原字符串。
跟着示例运行
把下面代码保存到本课脚本并运行:
language = "Python"
print(language[0])
print(language[-1])
print(language[0:3])
print(language + " 3.14")
预期结果:
P
n
Pyt
Python 3.14
输出中包含环境路径、集合元素或日志格式时,具体文字和顺序可能随本机环境变化;判断是否成功应以本篇说明的关键结果为准。
按执行顺序拆开看
- 字符串
Python的正索引从P的 0 开始,负索引从末尾n的 -1 开始。 language[0:3]依次取得索引 0、1、2,对应Pyt;索引 3 的h不在结果中。
再看一个具体细节
索引和切片的返回结果也容易混淆,可以把两种操作并排看。
索引只取得一个字符;切片按照范围取得新字符串。两者都不会修改原字符串。
初学者容易混淆的地方
- 把第一个字符写成索引 1,造成整体偏移一位。
- 认为切片会修改原字符串。字符串不可变,切片得到的是新字符串对象。
练习
- 从
"programming"中切出"gram"。 - 使用负索引取得字符串倒数第二个字符。
练习应先独立完成,再通过增加 print 输出或检查文件内容观察中间状态。当前课程尚未讲到的能力,不要求提前搜索复杂写法。
本篇边界
本篇目标是读取、截取和组合字符串。没有展开的高级机制会放到后续课程;先确保能够解释示例中每一行代码,再进入下一篇。
相关文章
01|Python 程序从源码到输出经历了什么
面向按顺序学习 Python 的初学者,本篇在零基础上,帮助读者理解源代码、解释器和输出之间的关系。
02|在 macOS 安装并确认 Python 3 环境
面向按顺序学习 Python 的初学者,本篇在第 01 篇知识上,帮助读者在 macOS 中确认 Python 3.14 和 pip 是否可用。
03|交互式解释器和 Python 脚本怎么选择
面向按顺序学习 Python 的初学者,本篇在第 02 篇知识上,帮助读者根据任务选择 REPL 或 `.py` 脚本。
04|建立第一个 Python 项目目录
面向按顺序学习 Python 的初学者,本篇在第 03 篇知识上,帮助读者理解当前目录并正确运行项目脚本。

