函数就像「代码的魔法工具箱」🧰,把常用的功能打包起来,随用随取。让我们用做奶茶的比喻来理解它~
一、函数是什么?
想象你开奶茶店:
- 原料(水果、牛奶)→ 输入参数
- 制作流程 → 函数内部的代码
- 成品奶茶 → 返回值
代码示例:
# 定义「做奶茶」函数 def make_milk_tea(tea_base, topping): """制作奶茶的函数""" tea = f"{tea_base}奶茶+{topping}" return tea # 使用函数 my_tea = make_milk_tea("红茶", "珍珠") print(my_tea) # 输出:红茶奶茶+珍珠
二、函数三要素
1️⃣ 函数定义
def 函数名(参数): # 要做的事情 return 结果
2️⃣ 参数传递
# 位置参数(按顺序传) make_milk_tea("绿茶", "布丁") # 关键字参数(明确指定参数名) make_milk_tea(topping="椰果", tea_base="乌龙茶")
3️⃣ 返回值
# 没有return语句 → 返回None def show_menu(): print("1. 红茶 2. 绿茶") # 返回多个值 def calculate(x, y): return x+y, x*y sum_result, product_result = calculate(3,4)
三、常见函数类型
1️⃣ 无参数函数
def ring_bell(): print("🔔 欢迎光临!") ring_bell() # 直接调用
2️⃣ 带默认参数
# 默认做原味奶茶 def order_tea(topping="原味"): return f"您的{topping}奶茶" print(order_tea()) # 输出:您的原味奶茶 print(order_tea("芋圆")) # 输出:您的芋圆奶茶
3️⃣ 帮助函数(文档字符串)
def add_points(a, b): """ 计算积分总和 参数: a: 当前积分 b: 新增积分 返回: 总积分 """ return a + b # 查看说明文档 help(add_points)
四、变量作用域
global_money = 100 # 全局变量(整个程序可用) def buy(price): local_money = 50 # 局部变量(只在函数内有效) global_money -= price # 修改全局变量需要声明 print(f"剩余:{global_money}元") buy(30) # 输出:剩余:70元 # print(local_money) # 这里会报错!
五、避坑指南
1️⃣ 参数传递易错点
# ❌ 错误:少传参数 make_milk_tea("红茶") # 缺少topping参数 # ✅ 正确:设置默认值 def make_milk_tea(tea_base, topping="珍珠"): # ...
2️⃣ 修改列表参数
def add_topping(order_list): order_list.append("椰果") # 会修改原始列表! my_order = ["红茶"] add_topping(my_order) print(my_order) # ["红茶", "椰果"]
六、综合练习:奶茶点单系统
def create_order(): """收集订单信息""" tea = input("请选择茶底(红茶/绿茶/乌龙):") topping = input("请选择加料(珍珠/芋圆/布丁):") return tea, topping def make_tea(tea, topping): """制作奶茶""" print(f"正在制作:{tea}奶茶") print(f"添加{topping}...") return f"{tea}奶茶+{topping}" def show_receipt(drink, price=15): """显示收据""" print("\n=== 您的订单 ===") print(f"饮品:{drink}") print(f"金额:{price}元") # 主程序 selected_tea, selected_topping = create_order() final_drink = make_tea(selected_tea, selected_topping) show_receipt(final_drink)
运行效果:
请选择茶底(红茶/绿茶/乌龙):乌龙 请选择加料(珍珠/芋圆/布丁):布丁 正在制作:乌龙奶茶 添加布丁... === 您的订单 === 饮品:乌龙奶茶+布丁 金额:15元
函数口诀:
先定义,后使用
参数传递要对应
返回结果别忘记
变量作用分清晰
现在你也能创造自己的代码魔法啦!✨
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于