比较运算
比较两个值,结果只有真或假。
它是什么
比较运算 把两个值放在天平上。
结果不是新的很大的数。
结果是真或假。
也就是 True 或 False。
程序要做选择,先得会问问题。 「够不够 60 分?」「是不是同一个人?」 问完得到真假,分支 才知道该走哪一条路。
六个符号:
| 符号 | 意思 |
|---|---|
> | 大于 |
< | 小于 |
== | 等于 |
!= | 不等于 |
>= | 大于或等于 |
<= | 小于或等于 |
score = 80
print(score >= 60) # True
print(score == 100) # False名字从哪来
比较的英文是 comparison。 数学课上的大于、小于、等于,就是它的祖先。
编程里最容易混的是两个等号。
一个等号 = 在很多语言里表示「放进去」,来自把值赋给 变量。
两个等号 == 才表示「两边一样吗」。
这个分工在 C 语言家族里很常见,Python 跟着用。
True 和 False 属于布尔类型 bool。
名字来自英国数学家乔治·布尔。
详见 逻辑运算。
!= 读作「不等于」。
感叹号在英语里常表示 not,所以是「不是等于」。
它怎么工作
特别小心:
=是赋值==才是问相不相等
True 和 False 首字母必须大写。
不要加引号。
加了引号,就变成普通文字 "True",比较时很容易踩坑。
数字可以比大小。 字符串也能比相不相等,有时还能比先后(按字典序)。
print("小派" == "小派")
print("apple" < "banana")3 == 3.0 是 True。
值相等,类型仍可能不同。
见 数据类型。
"60" == 60 是 False。
一边是文字,一边是数。
要先想清要不要 转换。
比较结果可以放进变量。 后面的分支和 循环 最爱用它。
几个比较还可以用逻辑运算拼起来:
score = 85
print(score >= 60 and score < 90)谁先算,看 优先级。 看不清就加括号。
还有两个常见成员资格比较:
in:在不在里面not in:不在里面
print("a" in "cat")
print(3 in [1, 2, 3])生活里在哪里
- 体检:身高够不够坐过山车。
- 成绩:分数过不过及格线。
- 安检:行李重不重过限。
- 点名:名字是不是这一位。
- 超市:满 99 减 10,先比「满不满」。
裁判看比分、温度计看冷热,都是比较。 程序把比较写成符号,好让电脑也能判。
和相近概念的差别
比较得到真假。 算术 得到新的数。
80 - 60 是 20。
80 > 60 是 True。
两件事不要混。
逻辑运算不直接比大小。 它把已经得到的真假再拼起来。 比较常常是零件,逻辑是装配。
赋值不是比较。 看见一个等号,先问:这是在放东西,还是在提问?
常见误会
误会 1:写成 => 或 =<。
正确是 >=、<=。
等号写在后面。
误会 2:True 写成 true。
必须大写。
误会 3:拿 "60" 和 60 乱比。
类型不同时要先想清楚。 该转就转。
误会 4:把一个等号当成比较。
= 是放进去。
== 才是问相不相等。
误会 5:比较一定会改变原来的值。
它只是提问。 盒子里的分数不会因为被问过就变掉。
想知道更多
- 书:潘洪波《小学生 Python 趣味编程》(用及格、比大小这类情境引出比较)。
- 书:埃里克·马瑟斯《Python 编程:从入门到实践》(条件一章会反复用到比较符号,可以和家长一起读)。
未登录时不会保存学习进度