- ⏳ 课程时长: 90 分钟
- 🎯 教学目标:
- 🤝 理解返回值:函数不仅能“做事”,还能“给结果”。
- 🔙 掌握
return:如何把数据扔回来。 - 🤲 接住返回值:使用变量接收函数的结果。
- ⚔️ Print vs Return:彻底搞懂这两者的天壤之别。
📖 课程内容
1. 🤔 引入:厨师的比喻 (10 分钟)
想象一下,你雇了一个厨师(函数)。你饿了,让他做汉堡。🍔
-
情况 A (只有
print): 厨师做好了汉堡,大喊一声:“汉堡做好了!”(打印在屏幕上),然后… 把汉堡扔进了垃圾桶。🗑️ 你手里什么都没拿到! -
情况 B (有
return): 厨师做好了汉堡,把它放在盘子里,端出来递给你(返回结果)。 你拿到了汉堡,可以吃,也可以送给别人! 🤲
编程也是一样: 我们需要函数把算好的数据“递”回来。
2. 🔙 扔出回旋镖:return 语法 (15 分钟)
-
📜 语法规则: 在函数里,用
return后面跟上你想返回的数据。 -
💻 示例:
def make_burger(): print("滋滋滋...汉堡在煎...") return "美味蟹黄堡" # 把汉堡扔回去!
3. 🤲 接住回旋镖:变量接收 (15 分钟)
函数把结果扔回来了,你得用手(变量)接住它!
# 1. 定义函数
def add(a, b):
result = a + b
return result # 把结果递出去
# 2. 调用函数,并“接住”结果
my_answer = add(5, 10) # 这里的 my_answer 接住了 15
# 3. 现在我们可以用这个结果做别的事了!
print(f"结果是: {my_answer}")
print(f"结果的两倍是: {my_answer * 2}")
4. ⚔️ 世纪大战:Print vs Return (20 分钟)
这是新手最容易晕的地方!请睁大眼睛!👀
| 特性 | print() 📢 | return 🔙 |
|---|---|---|
| 动作 | 仅仅是吼一声给你看 | 把东西拿回来给你用 |
| 数据去向 | 屏幕上显示一下就没了 | 存进变量里,或是传给别的函数 |
| 比喻 | 只能看照片 | 拿到实物 |
💻 惨痛的教训 (错误示范):
def fake_add(a, b):
print(a + b) # 只是打印,没有 return
# 试图接住结果
x = fake_add(3, 3)
# 打印 x 看看是什么
print("x 的值是:", x)
# 输出: x 的值是: None (空空如也!)
解释:因为函数没 return,所以 x 接了个寂寞(Python 里叫 None)。
5. 🛑 紧急出口:return 会结束函数 (10 分钟)
return 还有一个隐藏功能:一旦执行,函数立马结束!
它后面的代码统统不会运行。
def check_score(score):
if score >= 60:
return "及格"
print("这行代码...") # 只有不及格才会运行到这里
return "不及格"
result = check_score(90)
print(result) # 输出: 及格 (那句print没执行)
6. ✨ 多元化场景实战 (15 分钟)
场景 A:🛒 智能收银台 函数负责算钱,主程序负责判断够不够付。
def calc_total(price, count):
return price * count # 返回总价
# 主程序
money = 100
cost = calc_total(20, 6) # 单价20,买6个,总价120
if money >= cost:
print("钱够了,购买成功!")
else:
print(f"钱不够!还差 {cost - money} 元")
场景 B:🩸 游戏伤害计算 函数计算扣血后的剩余生命值。
def attack(hp, damage):
new_hp = hp - damage
if new_hp < 0:
return 0 # 血量最低是0,不能是负数
return new_hp
current_hp = 100
current_hp = attack(current_hp, 30) # 被打了30血
print(f"还剩 {current_hp} 血")
💪 课堂大练兵 (10 分钟)
-
🔢 平方计算器: 写一个函数
square(num),接收一个数字,return它的平方。 然后调用它,计算 5 的平方 + 10 的平方是多少。 -
🆚 比大小: 写一个函数
get_max(a, b),接收两个数字。 如果 a 大,return a;否则return b。 (不准用 Python 自带的 max 函数!)
📝 课程总结 (5 分钟)
return是函数把数据送回主程序的唯一通道。- 调用带返回值的函数时,记得用
变量 = 函数()来接住它。 print只是给眼睛看的,return才是给程序用的。return会让函数立即停止。
🏠 课后作业 (5 分钟)
-
📐 矩形面积王: 写一个函数
area(width, height),返回面积。 主程序计算两个矩形:A (宽5高4),B (宽6高3)。 比较一下,打印出哪个矩形的面积更大。 -
🏷️ 折扣计算器: 写一个函数
discount(price, rate)。 比如discount(100, 0.8)代表 100 元打 8 折。 返回打折后的价格。 -
🎒 列表筛选器 (挑战题 – 结合上一课): 写一个函数
filter_even(nums),接收一个数字列表。 函数内部创建一个新列表,把原列表里的偶数都捡出来放到新列表里。 最后return这个新列表。
下节课预告: 我们现在已经学会了 Python 的绝大部分基础招式! 接下来的几节课,我们要利用这些知识,去探索一些“现成的魔法道具”——模块 (Modules)。 下节课,我们将学习“随机的艺术 – Random 模块”,用它来做真正的猜拳游戏和随机点名器!🎲🃏
下次见,回旋镖高手们!👋

评论(0)