logo
13

元组(Tuples)

⏱️ 20分钟

元组(Tuples):当数据“不该被改”时的安全容器

你现在可能会困惑什么

“list 已经够用了,tuple 有什么意义?”

当你希望数据保持稳定(坐标、配置、返回值),tuple 的不可变特性能减少误改 bug。

一句话定义

元组是有序但不可变的序列。

生活类比

list 像草稿纸可反复修改; tuple 像签字后的合同,默认不改。

最小可运行例子

point = (10, 20)
print(point[0])  # 10

单元素元组陷阱

a = ("python",)
b = ("python")
print(type(a))  # tuple
print(type(b))  # str

解包(高频)

name, age = ("Alice", 25)
print(name, age)

课堂小测(3 分钟)

  1. 定义 (x, y) 坐标并解包打印。
  2. 写函数返回 (min, max)
  3. 判断某对象是否为 tuple。

课堂小测参考答案与判分点

  • 参考答案方向:能写出可运行代码,并覆盖题目中的核心条件与边界输入。
  • 判分点 1(正确性):主流程结果正确,关键分支可执行。
  • 判分点 2(可读性):变量命名清晰,结构不过度嵌套。
  • 判分点 3(健壮性):对空值、类型错误或异常输入有基础保护。

迁移任务(课后)

写一个函数 parse_user(),返回 (name, level, is_vip)

本节验收标准

你能独立做到:

  • 正确创建 tuple(含单元素)
  • 使用 tuple 解包
  • 说明 tuple 和 list 的选择场景

常见报错与调试步骤(新手版)

  • 报错看不懂:先读最后一行错误类型(如 TypeErrorNameError),再回到对应代码行定位。
  • 不确定变量值:在关键位置临时 print(变量, type(变量)),先确认数据是否符合预期。
  • 改了代码却没生效:确认文件已保存、运行的是当前文件、终端环境(venv)是否正确。

常见误区

  • 误区:("x") 是 tuple。

  • 正解:单元素 tuple 必须带逗号 ("x",)

  • 误区:tuple 完全不能更新。

  • 正解:tuple 本身不可变,但其中可变元素内容仍可变。