上一期我们掌握了算术运算符,搞定了各类数值运算场景;今天继续学习Python核心运算符——比较运算符。比较运算符是逻辑判断的核心工具,专门用于比较两个数值(或其他可比较对象)的大小、相等关系,输出结果均为布尔值,是后续条件判断、循环控制的基础,日常编程中出镜率极高。
无论是判断“数值大小”“条件是否成立”,还是筛选符合要求的数据,都离不开比较运算符。它的用法简单直观,与数学中的比较规则高度一致,无需复杂记忆,结合实例练习,就能快速上手,轻松实现各类逻辑判断需求。
📌 什么是比较运算符?
比较运算符,本质是用于比较两个对象关系的符号,核心作用是判断两个值的大小、相等与否,运算后会返回一个布尔值(True或False)——成立则返回True,不成立则返回False。
搭配数值类型(整数、浮点数)、字符串等可比较对象使用,就能组成比较表达式。例如 10 > 5 中,> 是比较运算符,10 > 5 就是比较表达式,因10大于5成立,所以计算结果为True。
核心说明:比较运算符的比较规则,与数学中的比较逻辑完全一致,比如“大于”“小于”“等于”的判断,和日常认知无差异,降低学习成本。
🔧 常用比较运算符
Python中的比较运算符主要有6种,覆盖所有常见的比较场景,每种运算符都有明确的语法和用途,结合示例理解,能快速掌握其核心用法,避免踩坑。
1. 等于运算符:==(判断两个值是否相等)
语法:值1 == 值2,用于判断两个值是否完全相等,相等则返回True,不相等则返回False。
重点注意:== 是比较运算符(判断相等),而非赋值符号 =(给变量赋值),二者不可混淆,这是最容易出错的细节。
# 整数与整数比较a = 10b = 10print(a == b) # 输出:True(两个值相等)# 整数与浮点数比较(数值相等即可,忽略类型差异)c = 10.0print(a == c) # 输出:True(10与10.0数值相等)# 不相等的情况d = 5print(a == d) # 输出:False(10≠5)# 注意:区分 == 和 =# a = b # 赋值:将b的值赋给a,不是判断相等# print(a == b) # 判断:判断a和b的值是否相等
2. 不等于运算符:!=(判断两个值是否不相等)
语法:值1 != 值2,与等于运算符相反,用于判断两个值是否不相等,不相等则返回True,相等则返回False。
# 整数不相等print(10 != 5) # 输出:True(10≠5)# 整数与浮点数相等,所以!=返回Falseprint(10 != 10.0) # 输出:False(10与10.0数值相等)# 字符串与整数比较(类型不同,一定不相等)print("10" != 10) # 输出:True(字符串"10"≠整数10)
3. 大于运算符:>(判断值1是否大于值2)
语法:值1 > 值2,判断左边的值是否大于右边的值,成立则返回True,不成立则返回False,支持整数、浮点数混合比较。
# 整数比较print(15 > 10) # 输出:True(15>10)# 浮点数比较print(3.14 > 2.86) # 输出:True(3.14>2.86)# 混合比较(整数与浮点数)print(10 > 9.9) # 输出:True(10>9.9)print(5 > 5.0) # 输出:False(5不大于5.0)
4. 小于运算符:<(判断值1是否小于值2)
语法:值1 < 值2,与大于运算符相反,判断左边的值是否小于右边的值,成立则返回True,不成立则返回False。
# 整数比较print(8 < 10) # 输出:True(8<10)# 浮点数比较print(2.5 < 3.14) # 输出:True(2.5<3.14)# 混合比较print(10 < 10.1) # 输出:Trueprint(5 < 5.0) # 输出:False(5不小于5.0)
5. 大于等于运算符:>=(判断值1是否大于或等于值2)
语法:值1 >= 值2,判断左边的值是否大于或等于右边的值,只要满足其中一个条件(大于/等于),就返回True,否则返回False。
# 等于的情况print(10 >= 10) # 输出:True(10等于10)# 大于的情况print(10 >= 5) # 输出:True(10大于5)# 既不大于也不等于print(5 >= 10) # 输出:False
6. 小于等于运算符:<=(判断值1是否小于或等于值2)
语法:值1 <= 值2,与大于等于运算符相反,判断左边的值是否小于或等于右边的值,满足其中一个条件(小于/等于),就返回True,否则返回False。
# 等于的情况print(10 <= 10) # 输出:True# 小于的情况print(5 <= 10) # 输出:True# 既不小于也不等于print(10 <= 5) # 输出:False
✅ 比较运算符的核心特性
返回值固定为布尔值:无论比较的是数值、字符串还是其他可比较对象,所有比较运算符的运算结果,都只会是True或False,这是比较运算符的核心特点。
支持链式比较:可将多个比较运算符串联使用,简化代码,Python会自动拆解为多个独立比较,全部成立才返回True。
可比较不同类型数值:整数与浮点数可直接比较(按数值大小判断),但数值与字符串(非纯数字字符串)不可比较,会报错。
# 链式比较(常用场景)# 等价于:10 > 5 and 5 > 3,全部成立则返回Trueprint(10 > 5 > 3) # 输出:True# 链式比较,有一个不成立则返回Falseprint(10 > 8 > 9) # 输出:False(8>9不成立)# 整数与浮点数比较(合法)print(5.5 >= 5) # 输出:True# 数值与非纯数字字符串比较(报错)# print(10 > "abc") # 报错:TypeError: '>' not supported between instances of 'int' and 'str'
❌ 必避的4个比较运算坑(重中之重)
比较运算符用法简单,但在细节上容易出错,尤其是与不同类型对象、链式比较结合时,这4个坑一定要避开,避免代码报错或结果偏差。
坑1:混淆 == 和 =:== 是判断相等,= 是赋值,写成 if a = 10: 会直接报错,这是最常见的错误。
坑2:数值与非纯数字字符串比较:整数/浮点数不能与非纯数字字符串(如"abc"、"10a")比较,会报类型错误,只有纯数字字符串可转换后比较。
坑3:链式比较的逻辑误区:链式比较 a > b > c 等价于 a > b and b > c,不是 a > b or b > c,需注意逻辑关系。
坑4:浮点数比较的精度问题:两个浮点数比较时,因计算机存储精度限制,可能出现“看似相等却返回False”的情况(如0.1+0.2 != 0.3),需特殊处理。
# 避坑示例(必看)# 坑1:混淆 == 和 =# if a = 10: # 报错:can't assign to comparisonif a == 10: print("a等于10") # 正确写法# 坑2:数值与非纯数字字符串比较# print(5 > "abc") # 报错print(5 == int("5")) # 正确:先将纯数字字符串转为整数再比较# 坑3:链式比较逻辑print(8 > 5 > 3) # 正确:8>5且5>3,输出Trueprint(8 > 5 and 5 > 3) # 与上面等价# 坑4:浮点数精度问题print(0.1 + 0.2 == 0.3) # 输出:False(精度偏差)print(abs((0.1 + 0.2) - 0.3) < 1e-10) # 正确:判断差值小于极小值,输出True
📝 核心总结
比较运算符:用于比较两个对象的关系,核心有6种,分别是 ==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于);
核心特点:运算结果固定为布尔值(True/False),支持链式比较,可用于整数、浮点数混合比较;
关键细节:区分 == 和 =,避免数值与非纯数字字符串比较,注意浮点数比较的精度问题;
实战用途:条件判断(if语句)、循环控制(while语句)、数据筛选等,是逻辑编程的基础。
比较运算符是衔接数值运算与逻辑判断的关键,掌握它之后,就能实现各类条件判断场景,让代码拥有“判断能力”。后续学习if条件语句、while循环时,会频繁用到这些运算符,多结合实例练习,就能熟练运用,避免踩坑。
每掌握一个基础运算符,都是在搭建Python编程的基石,循序渐进,就能轻松解锁更复杂的编程逻辑。