TheZTHEZ / UNDERSTANDING FIRST
Python 入门入门15 分钟阅读

变量:给数据一个名字

掌握赋值、重新赋值与变量命名,理解计算结果不会自动随其他变量更新。

在浏览器中练习 →进度只保存在本机。

学习目标

  • 定义并使用变量。
  • 理解右边先计算、左边再绑定的赋值顺序。
  • 区分变量名、字符串与相等判断。

概念解释

变量名让我们在后续代码中引用数据。course = “Python” 把名称 course 绑定到字符串对象;等号在这里表示赋值,不表示代数方程。执行 minutes = minutes + 10 时,解释器先读取旧值并计算,再让名称绑定到新结果,所以这是一条合法指令。

变量名可以包含字母、数字与下划线,不能以数字开头,也不能用 if、for 等关键字。Python 区分大小写,minutes 与 Minutes 是两个名字。建议使用清晰的英文小写名称与下划线,不要用 a、b 表示所有东西。中文名称虽可合法使用,但可能增加协作与工具兼容成本。

一个变量的值不会自动跟随另一个变量变化。total = minutes * days 在执行当时完成计算;后来改变 minutes,不会重新计算 total。想更新总量,需要再次执行计算。这一点对于编程初学者比记住命名风格更重要。

完整代码示例

将下面代码完整复制到运行器,先运行原例,再一次只修改一个地方。

course = "Python"
minutes = 20
days = 3
total = minutes * days
minutes = 30
print(course)
print("已计算的总分钟:", total)
print("现在每天的分钟:", minutes)

逐行代码讲解

  1. 第 1 行保存课程名文字;course 不在引号中,是变量名。
  2. 第 2 行把整数 20 赋给 minutes。
  3. 第 3 行用 days 保存 3。
  4. 第 4 行读取 20 与 3,计算并保存 60。
  5. 第 5 行重新赋值 minutes 为 30,之前得到的 total 仍是 60。
  6. 第 6 行输出 course 当前的值。
  7. 第 7 行输出计算时得到的 total。
  8. 第 8 行输出重新赋值后的 minutes。

实际运行结果

以下输出已在 Python 3 中执行核对。代码和输出分别放在不同区域;不要把输出当作代码。

Python
已计算的总分钟: 60
现在每天的分钟: 30

常见错误

  • 使用尚未定义的变量会产生 NameError,先赋值再读取。
  • 把变量名放在引号里,会打印名称本身而非变量值。
  • 把 = 当成判断相等;相等比较使用 ==,运算符课会解释。

实践练习

用 minutes_per_day 与 days 计算一周总学习时间,初始每天 25 分钟、7 天。随后把每天时间改为 40,并显式重新计算 total。两次结果分别应是什么?

先独立作答再查看参考。能运行还不够,请解释结果为什么正确。

参考答案

minutes_per_day = 25
days = 7
total = minutes_per_day * days
print(total)
minutes_per_day = 40
total = minutes_per_day * days
print(total)
assert total == 280

两次打印分别为 175 和 280。若没有第二次计算,total 仍是 175。

换个角度理解

像给一件物品贴标签。标签可以移到另一件物品上;另一张写着旧价格的收据,不会因为标签变了就自动改金额。列表可以被多个名字指向,同一列表的修改会被它们共同看到。

STEP 01计算右侧表达式
STEP 02得到一个值 / 对象
STEP 03绑定左侧名称

把输入、中间结果和输出分别命名,可以读懂每一步,也便于检查。total = price * count 比重复写一个魔法数字更容易维护。

动手观察:一步一步执行

这是当前知识点的独立教学示例,不是本课所有 Python 语法的模拟。修改参数、预测结果,再按下一步验证。完整语言练习使用可信代码运行器。

EXECUTION / 可操作的程序状态

把每一步,看明白

本地受限解释器
参数改变所选示例的数值;执行从头开始。

变量与作用域

输出

每步显示该语句求值后的快照;第 0 步尚未执行。条件行显示判断结果,函数调用单独显示进入与返回。自动播放可随时暂停,默认不会启动。

CHECK YOUR UNDERSTANDING

自己判断,才知道哪里没懂

先选答案再核对。答错会提供原因和补学方向,不影响课程完成进度。

基础 x = 3;y = x;x = 5。y 是多少?

应用 a = 2;b = a * 4;a = 3。b 是多少?

迁移 要让 total 跟随新 count 更新,需要什么?

尚未提交练习。知识掌握度和学习进度分别记录。

把你卡住的代码或错误交给理解引擎 →

这一节,你理解到哪里了?

这是你的自我反馈,与练习估计、课程进度分别记录。

本文为TheZ原创教学内容。正文采用 CC BY-NC-SA 4.0,代码采用 MIT 许可。请尊重署名与授权范围。