【Python 学习第 30 天】字符串基础
学习日期:2026-10-14
知识点:字符串基础
难度:0.54
一、今日知识点
今天学习的是字符串基础。
字符串是 Python 中表示文本的数据类型,用单引号、双引号或三引号括起来。字符串支持索引(从 0 开始)和切片([start:end:step]),也支持许多常用方法如 upper()、lower()、strip()、split() 等。字符串是不可变的,一旦创建就不能修改其中的字符。例如:s = "Hello, Python!",则 s[0] 是 'H',s[7:13] 是 'Python'
二、详细解析
概念说明
字符串是 Python 中用来表示文本的数据类型。你可以把它想象成一串按顺序排列的字符珠子,每个珠子都有一个编号(从 0 开始)。字符串非常有用,因为几乎所有程序都需要处理文字——比如用户名、消息、文件内容等。Python 用单引号'...'、双引号"..."或三引号'''...'''/"""..."""来创建字符串。三引号常用于多行文本或文档说明。
语法与用法
- 创建:
s = "hello"、s = 'hello'、s = """多行文本""" - 索引:
s[i]获取第 i 个字符,i 从 0 开始,负数表示从末尾倒数(s[-1]是最后一个字符) - 切片:
s[start:end:step]取从 start 到 end-1 的字符,step 为步长(可省略,默认 1) - 常用方法:
upper()/lower():转大写 / 小写strip():去掉两端空白split(sep):按分隔符拆成列表replace(old, new):替换子串- 不可变性:字符串一旦创建,不能修改其中某个字符。例如
s[0] = 'H'会报错。所有“修改”方法其实返回一个新字符串。
示例代码
# 示例1:索引与切片 s = "Hello, Python!" print(s[0]) # H print(s[7:13]) # Python print(s[-1]) # ! print(s[::2]) # Hlo yhn(步长为2) # 示例2:常用方法 text = " Python 编程 " print(text.strip()) # "Python 编程" print(text.strip().upper()) # "PYTHON 编程" words = "apple,banana,cherry" print(words.split(",")) # ['apple', 'banana', 'cherry'] print(words.replace("banana", "orange")) # apple,orange,cherry常见坑
- 索引越界:
s[100]会报IndexError。切片越界不会报错,但索引会。 - 忘记字符串不可变:试图
s[0] = 'J'会报TypeError。正确做法是s = 'J' + s[1:]或使用replace。 - 切片 end 不包含:
s[2:5]取的是索引 2、3、4,不包括 5。初学者常误以为包含 end。 - 混淆
split()与split(" "):无参数的split()会按任意空白拆分并忽略多余空格,而split(" ")只按单个空格拆分。
小结
字符串是 Python 中不可变的文本序列,掌握索引、切片和常用方法就能高效处理绝大多数文字任务。
三、今日练习
第 1 题 ✅
题目:已知字符串 s = "Python编程",则 s[2:5] 的结果是什么?
- 我的答案:
A
第 2 题 ❌
题目:请填写代码,使得变量 s 的值为 "PYTHON"(使用字符串方法将 "python" 转换为大写)。
s = "python"
s =__
- 我的答案:
upper(s) - 正确答案:
s.upper()
第 3 题 ✅
题目:运行以下代码,输出结果是什么?
name = input("请输入姓名:")
print("你好," + name)
- 我的答案:
B
四、今日总结
- 题目数量:3
- 答对:2
- 正确率:67%
本文由个人 Python 学习智能体自动生成