Appearance
字符串的“魔法操作”——Python字符串基础与文本处理
课题
字符串的“拆分与重组”:从名字处理到句子变形
教学时间
2课时(90分钟)
课前准备
- 教师端:电脑(Python 3.10+)、投影仪、多媒体课件(含“字符项链”动画:展示字符串像珠子串成的项链)、实物道具(字母卡片、带编号的珠子串)、字符串操作流程图(索引、切片、替换)。
- 学生端:电脑(Python环境)、笔记本、练习纸(印有名字拆分练习)、彩色笔(标注字符串操作步骤)。
- 教学素材:代码模板(
name_processing.py)、“字符串小侦探”任务卡(含不同难度的文本处理问题)、AI代码小助手(可解答“如何提取姓氏”等问题)。
一、导入活动:从“字符游戏”到“字符串逻辑”(15分钟)
活动1:“名字拆解”大挑战——感知字符串结构
- 教师出示“王小明”名字卡片,提问:“怎么把这个名字拆成‘王’‘小’‘明’?怎么快速找到‘小’字的位置?”
- 学生用字母卡片拼出自己的名字,尝试“拆成单个字”“找出第2个字”,记录操作步骤(如“王小明→拆成3部分,第2个是‘小’”)。
活动2:“字符项链”动画演示——理解字符串本质
- 播放动画:字符串
"Hello"像5颗珠子(H-e-l-l-o)串成的项链,每颗珠子有固定位置(编号0-4)。 - 类比:“字符串就是字符的‘项链’,编程可以像拆项链、换珠子一样处理文本”。
二、知识点讲解:字符串的“基础魔法”(30分钟)
模块1:认识字符串——文本的“数字编码”(5分钟)
- 核心概念:字符串是用英文引号(
""或'')包裹的文本(如"Python"、'你好'),本质是字符的有序集合(像排队的人,有固定顺序)。 - 生活案例:微信消息、作文内容、网址都是字符串,编程处理字符串就是“让计算机帮我们整理文字”。
模块2:索引与切片——精准“提取”字符(15分钟)
- 比喻:
- 索引=字符的“座位号”(从0开始,如
"abc"中a是0号,b是1号); - 切片=“截取一段项链”(如从0号到2号,取前3颗珠子)。
- 索引=字符的“座位号”(从0开始,如
- 代码演示:python
# 示例:处理名字“李晓华” name = "李晓华" # 1. 索引:获取单个字符(格式:变量[编号]) first_char = name[0] # 0号是第一个字符 print("姓氏:", first_char) # 输出:姓氏:李 # 2. 切片:获取一段字符(格式:变量[开始:结束],结束编号不包含在内) last_two = name[1:3] # 从1号到3号(不包含3号),即1和2号 print("名字:", last_two) # 输出:名字:晓华 - 关键规则:
- 索引越界错误:若字符串长度为3(编号0-2),访问
name[3]会报错(“项链只有3颗珠子,没有第4颗”); - 省略规则:
name[:2]=从开头取到2号(不包含2号),name[1:]=从1号取到结尾。
- 索引越界错误:若字符串长度为3(编号0-2),访问
模块3:拼接与替换——“重组”文本(10分钟)
- 拼接:用
+连接两个字符串(像把两条项链接成一条):pythonfirst_name = "张" last_name = "三" full_name = first_name + last_name # 拼接 print(full_name) # 输出:张三 - 替换:
replace(旧字符, 新字符)——替换指定字符(像把项链中的红珠子换成蓝珠子):pythonsentence = "我喜欢苹果,苹果很好吃" new_sentence = sentence.replace("苹果", "香蕉") # 把“苹果”换成“香蕉” print(new_sentence) # 输出:我喜欢香蕉,香蕉很好吃
三、练习题设计:分层任务+生活应用(25分钟)
基础任务(全员完成):“姓名处理器”
- 要求:用索引、切片、拼接处理自己的姓名,输出“姓氏”“名字”“倒序姓名”(如“李晓华”→“华晓李”)。
- 代码框架:python
my_name = "______" # 填写自己的姓名(2-3个字) # 1. 提取姓氏 family_name = my_name[__] # 补全索引 # 2. 提取名字(除姓氏外的部分) given_name = my_name[__:__] # 补全切片 # 3. 倒序排列(提示:用[::-1]切片) reversed_name = my_name[::-1] # 4. 输出结果 print(f"姓氏:{family_name},名字:{given_name},倒序:{reversed_name}")
进阶任务(选做):“句子变形器”
- 要求:处理句子
"Python is fun, I love Python",完成:- 替换“Python”为“编程”;
- 提取“fun”(从第10到13号字符);
- 拼接“编程很有趣!”和提取的单词。
创意任务(挑战):“暗号生成器”
- 用替换功能设计简单暗号(如把“a”换成“@”,“s”换成“$”),将自己的爱好写成暗号,让同桌解密。
教师支持:
- 打开AI代码小助手,学生可提问“怎么提取第3个字?”“倒序切片怎么写?”,AI生成带注释的示例代码(如
name[::-1]的解释:“从结尾到开头,步长为-1,即倒序”)。
四、讲解与互评:从“操作”到“逻辑”(15分钟)
- 错误分析:投屏典型错误(如索引从1开始、切片包含结束编号),引导学生用“字符项链”模型排查(“第1颗珠子编号是0还是1?”)。
- 创意展示:选2份“暗号生成器”作品,全班尝试解密,作者讲解替换规则,评选“最佳暗号设计师”。
五、总结与作业(5分钟)
课堂总结:
- 字符串是“字符项链”,用
""或''定义; - 索引(
[编号])取单个字符,切片([开始:结束])取一段字符; - 拼接(
+)和替换(replace())可重组文本。
课后作业:
- 用代码处理家人的姓名,输出“姓氏+‘先生/女士’”(如“王女士”);
- 设计一句包含3个“今天”的句子,用
replace()把“今天”换成“明天”,观察结果。
教学理论支撑:
- 皮亚杰形式运算阶段理论:通过“字符项链”具象模型,帮助学生将抽象的字符串索引转化为“座位编号”的具体逻辑,逐步形成抽象思维。
- 维果茨基最近发展区:分层任务(基础→创意)匹配不同学生的现有能力,AI代码小助手作为“脚手架”,帮助学生解决切片规则等难点。
- 自我决定理论:“姓名处理”“暗号设计”关联学生生活,满足自主需求(设计个人规则)和胜任需求(完成解密挑战),激发内在动机。
- STEAM教育融合:结合技术(字符串操作)、语言(文本处理)、逻辑(规则设计),让编程成为文本分析与创意表达的工具。