布尔:只有两个值的开关
程序要会做判断:分数及不及格?年龄够不够 18?判断的答案只有两种,成立或不成立。这就是布尔值(bool),像一个只有「开/关」的开关,只有 True(真/成立)和 False(假/不成立)。
写法死规矩:首字母必须大写(True 不是 true),而且不加引号。它们是 Python 内置关键词,不是普通文字。
比较运算:结果永远是布尔
你很少手写 True/False,更多是让电脑比一比自动得出。六个比较运算符:
==等于、!=不等于>大于、<小于、>=大于等于、<=小于等于
print(3 > 2) # True
print(5 == 5) # True
print(2 >= 3) # False每个比较都是在问一个是非题,结果永远是一个布尔值。读的时候在心里加问号:「3 > 2?」成立就是 True。
逻辑运算:and / or / not
现实判断常要同时满足好几条,用逻辑运算符把布尔值连起来:
- and(并且):像两把锁的门,两个都真才为 True。
- or(或者):像两个入口,有一个真就为 True。
- not(取反):把开关反过来,not True = False。
age = 20
is_student = True
print(age >= 18 and is_student) # True
print(age < 18 or is_student) # True
print(not is_student) # False天坑:== 比较 vs = 赋值
这是零基础最容易混、最难查的错。一个等号 = 是「把右边的值放进左边的变量」(赋值,做完不返回值);两个等号 == 是「问左右相等吗?」(比较,返回 True/False)。
x = 5 # 赋值:让 x 变成 5
print(x == 5) # 比较:x 是不是 5?→ True判断时(if、while 里)永远用 ==,给变量存值时用 =。写成 if x = 5: 会直接报错。混了要么报错、要么逻辑全乱,是新手第一号难查 bug。