ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

【Python 学习第 30 天】字符串基础

【Python 学习第 30 天】字符串基础

【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

常见坑

  1. 索引越界:s[100]会报IndexError。切片越界不会报错,但索引会。
  2. 忘记字符串不可变:试图s[0] = 'J'会报TypeError。正确做法是s = 'J' + s[1:]或使用replace。
  3. 切片 end 不包含:s[2:5]取的是索引 2、3、4,不包括 5。初学者常误以为包含 end。
  4. 混淆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 学习智能体自动生成

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进