- ⏳ 课程时长: 90 分钟
- 🎯 教学目标:
- 🧙♂️ 理解函数:把一段代码“起个名字”存起来。
- 📝 定义函数:使用
def关键词创造技能。 - 📣 调用函数:如何使用你创造的技能。
- 🪙 参数传递:给函数“投币”,让它处理不同的数据。
📖 课程内容
1. 🤔 引入:生日歌的烦恼 (10 分钟)
今天是三胞胎(大毛、二毛、三毛)的生日。你要给他们唱生日歌。 如果不发函数,代码是这样的:
print("祝 大毛 生日快乐!")
print("祝你天天开心!")
print("----------------")
print("祝 二毛 生日快乐!")
print("祝你天天开心!")
print("----------------")
print("祝 三毛 生日快乐!")
print("祝你天天开心!")
print("----------------")
太累了!而且如果我想把“天天开心”改成“学业进步”,我得改 3 次!😫
2. 📜 创造咒语:定义函数 (20 分钟)
我们可以把唱生日歌这段逻辑,打包成一个叫 sing_birthday 的新命令。
-
语法结构:
def 函数名(): # 这里写函数要干的事 # (记得缩进!)def: 是 Define (定义) 的缩写。
-
💻 示例:
def sing_song(): print("🎵 祝你生日快乐!") print("🎵 祝你天天开心!") print("----------------") -
⚠️ 重要提醒: 光写上面的代码,什么都不会发生! 这就像你在魔法书里写下了一个咒语,但你还没有念出来。
3. 📣 施展咒语:调用函数 (10 分钟)
要让函数跑起来,你需要调用 (Call) 它。 方法很简单:喊它的名字,加上括号!
# 1. 先定义 (抄写在魔法书上)
def sing_song():
print("🎵 祝你生日快乐!")
print("----------------")
# 2. 后调用 (念出咒语)
print("开始派对!")
sing_song() # 第一次调用
sing_song() # 第二次调用
sing_song() # 第三次调用
看!现在想改歌词,只要在 def 那里改一次,所有地方都变了! ✨
4. 🪙 神奇的投币口:参数 (25 分钟)
上面的函数有个缺点:它不知道是对谁唱的。 我们希望函数能接收一些信息,就像自动贩卖机接收硬币一样。 这个“接收口”,叫参数 (Parameter)。
-
定义带参数的函数:
def sing_to(name): # name 就是一个变量,等着接收数据 print(f"祝 {name} 生日快乐!") -
调用带参数的函数:
sing_to("大毛") # 把 "大毛" 扔进 name 里 sing_to("二毛") # 把 "二毛" 扔进 name 里 -
🤹 多个参数: 可以用逗号隔开,接收多个数据。
def introduce(name, age): print(f"大家好,我是 {name},今年 {age} 岁。") introduce("小明", 12) introduce("Alice", 10)
5. ✨ 多元化场景实战 (20 分钟)
函数能帮我们把复杂的事情变简单!
场景 A:📐 自动画图师 写一个函数,打印任意大小的正方形。
def draw_square(size):
print(f"--- 画一个边长为 {size} 的正方形 ---")
for i in range(size):
print("口 " * size) # 用口字模拟正方形
draw_square(3)
draw_square(5)
场景 B:🚑 游戏治疗术 在游戏里,给角色加血。
def heal(player_name, hp):
print(f"✨ 治愈光波!")
print(f"{player_name} 恢复了 {hp} 点生命值!")
heal("勇者", 50)
heal("法师", 30)
场景 C:🧮 超级计算器 把加法封装起来。
def add_numbers(a, b):
result = a + b
print(f"{a} + {b} = {result}")
add_numbers(10, 20)
add_numbers(100, 500)
6. ⚠️ 常见坑点 (5 分钟)
- 🚫 忘记括号: 调用时写
sing_song❌,必须写sing_song()✅。 - 🚫 顺序搞反: 定义
def introduce(name, age),调用时写introduce(10, "小明"),结果变成“我是10,今年小明岁”… 😅 - 🚫 缩进错误:
def下面的代码必须缩进,不然电脑不知道哪些代码属于这个函数。
💪 课堂大练兵 (10 分钟)
-
👋 打招呼: 定义一个函数
say_hi(name),调用它时打印 “你好,[name]!今天过得怎么样?” -
🍩 甜甜圈价格计算器: 定义一个函数
calc_price(count),假设甜甜圈 5 元一个。 传入数量,打印 “你需要支付 [总价] 元”。
📝 课程总结 (5 分钟)
- DRY 原则: Don’t Repeat Yourself(不要重复自己)。
- 定义:
def 名字():就像写说明书。 - 调用:
名字()就像按按钮执行。 - 参数: 括号里的变量,用来从外面接收数据。
🏠 课后作业 (5 分钟)
-
💳 个人名片生成器: 定义一个函数
make_card(name, job, phone)。 调用它make_card("钢铁侠", "超级英雄", "12345"),它能打印出一个漂亮的方框名片。 -
🔢 升级版奇偶判断: 定义一个函数
check_number(num)。 如果num是偶数,打印“偶数”;是奇数,打印“奇数”。 然后写一个循环,让用户输入 3 个数字,每次都调用这个函数来判断。 -
🚀 火箭发射台 (选做): 定义一个函数
countdown(start_num)。 如果传入 5,它就打印 5, 4, 3, 2, 1, 发射! 如果传入 3,它就打印 3, 2, 1, 发射! (提示:结合for循环或while循环)
下节课预告: 我们的函数现在只会“打印”东西,能不能让它把算好的结果“还给我们”,让我们拿去继续用呢?(比如算出总价后,再用另一个函数打折)。 下节课,我们学习函数的“返回值 (Return)”与“数据大仓库 – 列表”!🔙📦
下次见,大法师们!👋

评论(0)