哈罗,各位大朋友小朋友们!前几节课我们带孩子收服了强悍的 while 循环,还用画笔画出了超酷的专属“姓名风车”。后台不少家长留言说,孩子现在看到屏幕上自己写出来的字,特别有成就感。
既然孩子们对“文字”这么感兴趣,今天咱们就来聊聊 Python 王国里专门用来处理文字的大家族——字符串(String)。
不过在开课前,我得先考考大家:如果一排小朋友排队,第一个小朋友应该是一号,对吧?
可是在 Python 的世界里,程序员数数的方式绝对会颠覆你的常识。今天,就带孩子们解锁字符串的两个核心秘密:长度与索引!
📏 秘密一:一把万能的“文字放大镜” —— len() 函数
在编程里,用单引号或双引号括起来的任何文字、数字甚至符号,都叫字符串。比如 "Hello"、"少儿编程"。
那什么叫字符串的长度呢?大白话来说,就是这里面到底一共有几个字(字符)。
如果只有几个字,孩子伸出手指头数数就知道了。但如果是一篇成千上万字的文章呢?人工去数简直要“废眼”。
别慌,Python 给我们准备了一把神奇的放大镜:len() 函数。只要把字符串往它的括号里一扔,它就能瞬间报出字数!
快带孩子在电脑里敲下这段数数代码:
# 1. 查英文句子的长度
str1 = "Hello World!"
print("英文长度是:", len(str1)) # 输出结果是 12!
# 2. 查中文文言文的长度
str2 = "学而时习之,不亦说乎?"
print("中文长度是:", len(str2)) # 输出结果是 11!
💡 小发现:
细心的小朋友可能会问:“Hello World! 字母加起来明明只有10个呀,为什么 len() 算出来是 12 呢?”
这时候就可以告诉孩子:空格和感叹号也是要占位置的! 在 Python 眼里,只要在引号内部,空格和标点符号都算一个独立的“字”。而我们的中文连同逗号、问号,也会被 len() 安排得清清楚楚!
🔢 秘密二:神奇的“座位号” —— 字符串的索引
了解了长度,我们再来玩个好玩的游戏:排队点名。
字符串里的每一个字,在电脑里都有一个唯一的“座位号”,这个座位号在编程里有个高大上的名字,叫“索引”。通过这个座位号,我们就能把任意一个字从大句子里单独“抓”出来。
但是,重点来了!计算机科学家们数数,从来不从 1 开始,而是从 0 开始!
也就是说:
第 1 个字符的座位号是 0
第 2 个字符的座位号是 1
第 3 个字符的座位号是 2……以此类推。
拿一串好吃的冰糖葫芦("Hello World")来打比方:
想要把某个座位上的字抓出来,只需要用方括号 [] 贴在字符串屁股后面就行。
快看这段“隔空取字”的代码:
word = "Hello"
# 抓出第1个位置的字母
print(word[0]) # 屏幕上会蹦出 'H'
# 抓出第5个位置的字母
print(word[4]) # 屏幕上会蹦出 'o'
昨晚我儿子看到这里,自信满满地写了一行
print(word[5]),结果电脑当场气得“满屏拉红线”报错了(IndexError: string index out of range)。我笑着拍拍他说:“你看,Hello 一共 5 个字母。因为座位号是从 0 开始排的,所以最后一个座位明明是 4 号。你喊 5 号开门,5 号座位上根本没人坐,电脑可不就懵圈了嘛!”孩子一听一拍大腿,瞬间就记住了这个容易踩雷的“0自乘法则”。
📝 今日成就卡
今天,孩子们跟着我们一起涉足了数据类型中极重要的“字符串”领地:
解锁新技能: 学会用 len() 像数数机器一样去测任何句子的长短。
纠正新观念: 深刻记住了程序员的特殊癖好——数数必须从 0 开始(索引)。
学会精准定位: 懂得了用 [座位号] 的方式去字符串里挑选心仪的字符。