布尔类型
布尔类型用于表达现实生活中的逻辑,即“真”与“假”。
定义
Python 内置两个布尔字面量:
True 表示真(是、肯定)
False 表示假(否、否定)
补充说明:
- True 本质上等价于数字 1
- False 本质上等价于数字 0
示例(定义布尔变量):
name = True
name = False
获取布尔类型的方式
布尔值可通过两种方式获得:
方式 1:直接定义
flag = True
方式 2:通过比较运算符获得布尔结果
比较运算符会返回布尔类型:
| 运算符 | 描述 | 示例 |
|---|---|---|
| == | 判断内容是否相等 | a=3,b=3 → (a == b) 为 True |
| != | 判断是否不相等 | a=1,b=3 → (a != b) 为 True |
| > | 左侧是否大于右侧 | a=7,b=3 → True |
| < | 左侧是否小于右侧 | a=3,b=7 → True |
| >= | 左侧是否大于等于右侧 | a=3,b=3 → True |
| <= | 左侧是否小于等于右侧 | a=3,b=3 → True |
⚠ 注意:
==是比较=是赋值- 两者不可混淆
示例:
bool_name = "观止" == "观止"
bool_age = 19 <= 18
print(f"年龄{bool_age}") # 输出 年龄 False
print(f"姓名{bool_name}") # 输出 姓名 True
print(f"数据类型{type(bool_age)}") # 输出 数据类型<class 'bool'>
逻辑运算符
逻辑运算用于进行更复杂的条件判断,包含 and、or、not 三种。
逻辑运算符总览表
| 运算符 | 含义 | 使用示例 | 说明 |
|---|---|---|---|
| and | 逻辑与(且) | a and b | 两个表达式都为真,结果才为真,否则为假 |
| or | 逻辑或(或) | a or b | 只要有一个为真,结果为真;都为假时结果为假 |
| not | 逻辑非(取反) | not a | 若 a 为真,结果为假;若 a 为假,结果为真 |
Python 中哪些值被视为 False?
文本中与示例说明:以下对象会被自动视为 False:
- 数值类型的 0
- 空字符串
""或'' - 空元组
() - 空列表
[] - 空字典
{} - 空集合
set()
其余值均视为 True。
and / or 的特殊返回规则(重点)
Python 的 and 和 or 运算符并不像想象中返回 True/False,它们可能返回 表达式本身的值。
and 运算规则
两边都是表达式时:
- 两边都为真 → 返回 右侧表达式的值
- 任一为假 → 返回 第一个为假的表达式的值
示例:
print(15 > 10 and 15 > 6) # True
print(15 > 10 and 15 < 6) # False
print({} and 15) # {} 左侧为假,因此直接返回左侧
print(6 and 15) # 15 两者为真,返回右侧表达式的值
or 运算规则
两边都是表达式:
- 只要有一个为真 → 返回第一个为真的表达式的值
- 全为假 → 返回最后一个表达式的值
示例:
print(15 > 10 or 15 > 6) # True
print(15 > 10 or 15 < 6) # True
print(15 < 10 or 15 < 6) # False
不全是表达式:
print({} or 15) # 15 左侧为假 → 返回右侧表达式
print(6 or 15) # 6 左侧为真 → 返回左侧表达式
not 运算符
取反操作:
print(not 16 > 9) # False
print(not 16 < 9) # True
逻辑运算优先级(从高到低)
- not
- and
- or
示例表达式会先对 not 求值,再执行 and,最后执行 or。
if 判断语句
判断语句可以根据条件的真假来决定程序是否执行某段代码。
核心规则:
- 条件为 True → 执行
- 条件为 False → 跳过
if 基本格式
语法:
if 条件:
条件为 True 时执行的语句
注意格式要求:
if与条件之间需留一个空格- 条件后必须加
: - 执行语句前必须缩进(4 个空格)
示例:
age = 19
if age > 18:
print("您已成年")
若条件不满足则不执行:
if age > 30:
print("观止") # 不会输出
print("study") # 不属于 if,因此总会执行
if – else 语句
用于条件为假时执行另一段代码。
语法:
if 条件:
条件 True 时执行
else:
条件 False 时执行
示例:
age = 19
if age > 18:
print("您已成年")
else:
print("您未成年")
if – elif – else 语句
用于多条件判断(互斥且有顺序)。
语法:
if 条件1:
执行语句
elif 条件2:
执行语句
elif 条件3:
执行语句
else:
所有条件都不满足时执行
示例:
age = 1
if age > 10:
print("观止")
elif age < 0:
print("study")
elif age > 2:
print("blog")
else:
print("welcome")
说明:
- 会根据顺序依次判断
- 一旦满足某个条件,其余条件不会再执行
判断语句的嵌套
当满足外层条件时,可继续进行二次判断。
伪代码结构:
if 条件A:
if 条件B:
执行语句
else:
执行语句
else:
执行语句
示例:
age = 20
money = 10
if age < 18:
print("第一处if")
if money > 9:
print("第二处if")
else:
print("第二处else")
else:
print("第一处else")
if money > 9:
print("第二处if")
else:
print("第二处else")
输出:
第一处else
第二处if
嵌套关键点:
- 通过 缩进层级 表达逻辑结构
- 缩进决定语句从属关系
全文概览
布尔类型
含义
用于表达现实生活中的逻辑,即真假。
- 真:True
- 假:False
字面量
- True
- False
.获取布尔值
- 使用比较运算符(
==,!=,>,<,>=,<=) - 比较后返回布尔类型
二、逻辑运算符
and(且)
- 两个条件都为 True → 结果 True
- 只要有一个 False → 结果 False
- 执行顺序优先级:
not>and>or
or(或)
- 两个条件只要有一个为 True → 结果 True
- 均为 False → 结果 False
not(非)
- True → False
- False → True
特殊说明
在 Python中,以下值被视为 False:
- 0
- 空字符串
"" - 空列表
[] - 空元组
() - 空字典
{} - 空集合
set()
and / or 会返回表达式本身的值,而不是单纯 True/False。
if 判断
含义
当条件为 True 执行代码;条件为 False 跳过。
基础格式
if 条件:
执行语句
if-else 格式
if 条件:
条件 True 时执行
else:
条件 False 时执行
if-elif-else 格式
if 条件1:
执行语句
elif 条件2:
执行语句
elif 条件3:
执行语句
else:
以上条件都不满足时执行
说明:
- if 与 elif 之间的条件互斥
- elif 可以有多个
- else 可以省略
判断语句注意事项
- if 与条件之间需空格
- 条件后必须加冒号
- 执行语句必须缩进(4 空格)
- 缩进决定层级(尤其是嵌套结构)
执行流程
- 判断从上往下
- 满足其中一个条件后,后续条件不再执行