【写在前面】可以参看我的视频进行学习,喜欢的话,关注,点赞,分享适合初学者,建议收藏!🐍
第一步:认识什么是比较运算符
比较运算符(Comparison Operators)用于比较两个值之间的关系,返回结果是布尔值 True 或 False。
它们是编程中最基础、最常用的工具之一,在条件判断、循环控制、数据筛选等场景中无处不在。
第二步:Python 6大比较运算符一览
| 运算符 | 名称 | 含义 | 示例 |
|---|
== | 等于 | 判断两边是否相等 | 5 == 5 → True |
!= | 不等于 | 判断两边是否不相等 | 5 != 3 → True |
> | 大于 | 左边是否大于右边 | 7 > 3 → True |
< | 小于 | 左边是否小于右边 | 3 < 7 → True |
>= | 大于等于 | 左边是否大于或等于右边 | 5 >= 5 → True |
<= | 小于等于 | 左边是否小于或等于右边 | 4 <= 5 → True |
第三步:逐个详解 + 代码演示
1️⃣ == 等于运算符
注意:是两个等号 ==,不是赋值的一个等号 =!
# 数字比较
print(10==10) # True
print(10==5) # False
# 字符串比较(区分大小写)
print("hello"=="hello") # True
print("Hello"=="hello") # False(H和h不同)
# 不同类型比较
print(5==5.0) # True(数值相等)
print(5=="5") # False(整数 vs 字符串)
2️⃣ != 不等于运算符
!= 是 == 的反义词,只要不相等就返回 True。
print(10!=5) # True
print(10!=10) # False
# 实际应用:检查用户输入是否不是某个值
user_input="quit"
ifuser_input!="exit":
print("程序继续运行...")
3️⃣ > 和 < 大于、小于运算符
# 数字比较
print(100>50) # True
print(100<50) # False
# 字符串也能比!按字典序(ASCII码)
print("apple"<"banana") # True(a在b前面)
print("Zoo"<"apple") # True(大写字母Z的ASCII码小于小写a)
💡 小技巧:字符串比较的是字符的ASCII码值,大写字母 < 小写字母。
4️⃣ >= 和 <= 大于等于、小于等于运算符
score=85
pass_line=60
# 判断是否及格
print(score>=pass_line) # True
# 判断年龄是否在合法范围
age=18
print(0<=age<=120) # True(Python支持链式比较!)
🌟 Python特色:0 <= age <= 120 这种写法在Python中完全合法,其他很多语言不行!
第四步:高级用法与注意事项
⚠️ 注意1:== vs is 的区别
a= [1, 2, 3]
b= [1, 2, 3]
c=a
print(a==b) # True(值相等)
print(aisb) # False(内存地址不同)
print(aisc) # True(同一对象)
# 判断None要用is
x=None
print(xisNone) # ✅ 正确
print(x==None) # 也能运行,但不推荐
总结:
== 比较值是否相等
is 比较身份(内存地址)是否相同
⚠️ 注意2:浮点数比较的陷阱
print(0.1+0.2==0.3) # False!😱
# 原因:浮点数精度问题
print(0.1+0.2) # 0.30000000000000004
# ✅ 正确做法:用math.isclose()
importmath
print(math.isclose(0.1+0.2, 0.3)) # True
🎯 技巧:比较运算符的返回值可以直接使用
# 简洁写法
result=5>3
ifresult:
print("5确实大于3")
# 更简洁(直接用在条件中)
if5>3:
print("5确实大于3")
# 甚至可以赋值给变量参与计算
is_valid=18<=age<=60
bonus=1000ifis_validelse0
第五步:实战应用场景
场景1:成绩等级判定
score=85
ifscore>=90:
grade="A"
elifscore>=80:
grade="B"# 会执行这里
elifscore>=70:
grade="C"
else:
grade="D"
场景2:用户登录验证
username="admin"
password="123456"
input_user=input("用户名:")
input_pwd=input("密码:")
ifinput_user==usernameandinput_pwd==password:
print("登录成功!")
else:
print("用户名或密码错误")
场景3:数据筛选
# 筛选出列表中大于10的数字
numbers= [5, 12, 8, 21, 3, 15]
big_numbers= [nforninnumbersifn>10]
print(big_numbers) # [12, 21, 15]
总结速查表
等于: == 1 == 1 → True
不等于: != 1 != 2 → True
大于: > 2 > 1 → True
小于: < 1 < 2 → True
大于等于: >= 2 >= 2 → True
小于等于: <= 1 <= 2 → True
特殊记忆:
• = 是赋值,== 才是比较
• 比较结果是 True/False
• 浮点数用 math.isclose() 比较
• 判断None用 is
课后练习
试试写出下面代码的结果:
print(3+2==5) # ?
print("5"!=5) # ?
print(10>5>2) # ?(链式比较)
print(0.1+0.2==0.3) # ?
查看答案True # 3+2等于5
True # 字符串"5"不等于数字5
True # 10>5 且 5>2,链式比较
False # 浮点数精度问题
</details>
📌 收藏本文,写代码时随时查阅!
💬 有问题欢迎在评论区留言交流~