变量 · Python 从零开始
程序怎样记住东西?
课程目录为什么需要它
游戏要记住分数,商店要记住价格,表单要记住你的名字。没有记忆,程序就只能打印固定的内容。变量 Variable 给值起一个名字,让你能把它存起来、之后再用、还能修改。
直觉理解
把变量想成贴在值上的一张标签:
score = 10读作「让 score 指向 10」。这里的 = 是存进去,不是「等于」。所以下面这行才说得通:
score = score + 5Python 先算右边(10 + 5 = 15),然后把 score 这张标签贴到 15 上。读赋值 Assignment 语句要从右往左:先算出值,再给它起名字。
名字可以用字母、数字和 _,不能以数字开头,不能有空格,大小写不同就是不同的名字(Score ≠ score)。
定义
变量 Variable
A variable is a name that refers to a value stored in the computer's memory.变量是一个名字,它指向存在计算机内存里的一个值。
赋值 Assignment
An assignment statement (name = expression) evaluates the expression on the right and binds the result to the name on the left.赋值语句(名字 = 表达式)先计算右边的表达式,再把结果绑定到左边的名字上。
示例
记分
动手试试点下面的步骤,看 score 的值怎么变化。
score = 0
score = score + 10
score = score + 5
print(score)逐步执行
- L1创建变量:score 指向 0。
score = 0 - L2先算右边:0 + 10 = 10。然后 score 指向 10。
score = 10 - L3再来一次:10 + 5 = 15。
score = 15 - L4print 显示当前的值:15。
output: 15
复制一个值
动手试试执行 b = a 之后,再改 a 不会影响 b。
a = 3
b = a
a = 5
print(a, b)逐步执行
- L1a 指向 3。
a = 3 - L2b 拿到 a 当时的值:3。
a = 3, b = 3 - L3a 改为指向 5;b 仍然指向 3。
a = 5, b = 3 - L4输出:5 3
output: 5 3
常见错误
= 不是「等于」
x = x + 1 在数学里说不通,但在 Python 里它的意思是「x 加 1」。判断是否相等要用 ==(后面会学)。
还没创建就使用
在任何 total = ... 之前就 print(total) 会报 NameError。Python 是从上往下读的。
小测验
1. 这段代码会输出什么?
x = 2
x = x * 3
x = x + 1
print(x)查看答案
答案:A
2 × 3 = 6,再 6 + 1 = 7。
2. 这段代码会输出什么?
a = 1
b = a
a = 10
print(b)查看答案
答案:B
a 改变之前,b 已经拿到了值 1。
动手练习
3 道练习,分三层:先预测程序的输出,再按新需求改程序,最后从零写一个。代码在浏览器里运行,提交马上判题。
- 预测输出跟踪变量的值
准确写出程序的输出。
- 改需求加一个折扣
加一个变量
discount,值是 5。然后让total等于单价 × 数量再减去折扣,并打印total(应该是 31)。 - 从零写长方形
创建
width = 7和height = 4。把面积存在area,周长存在perimeter,然后分两行打印面积和周长。
本课术语
| 术语 | 中文 | 英文定义 |
|---|---|---|
| Variable | 变量 | A name that refers to a value stored in memory. |
| Assignment | 赋值 | A statement that evaluates the right side and binds the result to a name. |
| Value | 值 | A piece of data, such as 42 or "hello". |