函数

函数就像「代码的魔法工具箱」🧰,把常用的功能打包起来,随用随取。让我们用做奶茶的比喻来理解它~

一、函数是什么?

想象你开奶茶店:

  • 原料(水果、牛奶)→ 输入参数
  • 制作流程函数内部的代码
  • 成品奶茶返回值

代码示例

# 定义「做奶茶」函数 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元

函数口诀
先定义,后使用
参数传递要对应
返回结果别忘记
变量作用分清晰

现在你也能创造自己的代码魔法啦!✨

  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    556 引用 • 674 回帖

相关帖子

回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...