• ⏳ 课程时长: 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 分钟)

  1. 🔢 平方计算器: 写一个函数 square(num),接收一个数字,return 它的平方。 然后调用它,计算 5 的平方 + 10 的平方是多少。

  2. 🆚 比大小: 写一个函数 get_max(a, b),接收两个数字。 如果 a 大,return a;否则 return b(不准用 Python 自带的 max 函数!)


📝 课程总结 (5 分钟)

  1. return 是函数把数据送回主程序的唯一通道。
  2. 调用带返回值的函数时,记得用 变量 = 函数() 来接住它。
  3. print 只是给眼睛看的,return 才是给程序用的。
  4. return 会让函数立即停止

🏠 课后作业 (5 分钟)

  1. 📐 矩形面积王: 写一个函数 area(width, height),返回面积。 主程序计算两个矩形:A (宽5高4),B (宽6高3)。 比较一下,打印出哪个矩形的面积更大。

  2. 🏷️ 折扣计算器: 写一个函数 discount(price, rate)。 比如 discount(100, 0.8) 代表 100 元打 8 折。 返回打折后的价格。

  3. 🎒 列表筛选器 (挑战题 – 结合上一课): 写一个函数 filter_even(nums),接收一个数字列表。 函数内部创建一个新列表,把原列表里的偶数都捡出来放到新列表里。 最后 return 这个新列表。


下节课预告: 我们现在已经学会了 Python 的绝大部分基础招式! 接下来的几节课,我们要利用这些知识,去探索一些“现成的魔法道具”——模块 (Modules)。 下节课,我们将学习“随机的艺术 – Random 模块”,用它来做真正的猜拳游戏和随机点名器!🎲🃏

下次见,回旋镖高手们!👋

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。