当前位置:首页>python>Python比较运算符完全指南:从入门到精通

Python比较运算符完全指南:从入门到精通

  • 2026-09-05 12:46:07
Python比较运算符完全指南:从入门到精通
【写在前面】可以参看我的视频进行学习,喜欢的话,关注,点赞,分享

适合初学者,建议收藏!🐍


第一步:认识什么是比较运算符

比较运算符(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>


📌 收藏本文,写代码时随时查阅!

💬 有问题欢迎在评论区留言交流~

最新文章

随机文章