当前位置:首页>python>Python逻辑运算符完全指南

Python逻辑运算符完全指南

  • 2026-09-27 07:26:21
Python逻辑运算符完全指南
【写在前面】可以参看我的视频学习,喜欢的话,关注,点赞,分享

从入门到精通,一文掌握 and、or、not 三大核心逻辑运算符


第一步:认识三大逻辑运算符

Python中只有3个逻辑运算符,记住这张表就够了:

运算符含义记忆口诀
and逻辑与(并且)两边都为真,结果才为真
or逻辑或(或者)一边为真,结果就为真
not逻辑非(取反)真变假,假变真

第二步:and 运算符详解

基本规则

当两边条件都为True时,结果才为True

代码示例

# 示例1:基础用法
age=25
has_id=True

# 判断:年龄大于18 并且 有身份证
ifage>18andhas_id:
print("✅ 可以进入网吧")
else:
print("❌ 不能进入")

# 输出:✅ 可以进入网吧
# 示例2:多个条件串联
score=85
attendance=90
is_violation=False

# 获得奖学金条件:成绩>80 并且 出勤>85 并且 无违纪
ifscore>80andattendance>85andnotis_violation:
print("🎉 获得奖学金!")
else:
print("继续努力")

# 输出:🎉 获得奖学金!

⚠️ 短路特性

and 运算中,遇到第一个False就停止,返回该值:

result=0and999# 0是False,直接返回0
print(result)       # 输出:0

result="hello"and999# "hello"为True,继续判断999
print(result)             # 输出:999

第三步:or 运算符详解

基本规则

当任意一边条件为True时,结果就为True

代码示例

# 示例1:基础用法
is_weekend=True
is_holiday=False

# 判断:是周末 或者 是节假日,就可以休息
ifis_weekendoris_holiday:
print("🛌 今天可以睡懒觉!")
else:
print("⏰ 该起床上班了")

# 输出:🛌 今天可以睡懒觉!
# 示例2:设置默认值(超实用技巧!)
username=input("请输入用户名:") or"匿名用户"
print(f"欢迎,{username}!")

# 如果用户直接回车(空字符串为False),自动使用"匿名用户"

⚠️ 短路特性

or 运算中,遇到第一个True就停止,返回该值:

result="hello"or999# "hello"为True,直接返回"hello"
print(result)            # 输出:hello

result=0or999or888# 0为False,继续;999为True,返回999
print(result)             # 输出:999

第四步:not 运算符详解

基本规则

取反操作,True变False,False变True

代码示例

# 示例1:基础取反
is_raining=False

ifnotis_raining:  # 如果没下雨
print("☀️ 天气不错,去跑步吧!")
else:
print("🌧️ 下雨了,在家休息")

# 输出:☀️ 天气不错,去跑步吧!
# 示例2:判断列表是否为空
my_list= []

# 优雅判断空列表
ifnotmy_list:
print("列表是空的,需要添加数据")
else:
print(f"列表有{len(my_list)}个元素")

# 输出:列表是空的,需要添加数据

💡 常见组合用法

写法含义等价于
not xx为False时成立x == False
not None判断不是Nonex is not None
not []判断列表非空len(list) > 0

第五步:优先级与组合使用

优先级顺序(从高到低)

not > and > or

实战案例:用户权限判断

# 场景:判断用户是否有权限访问
is_admin=False
is_vip=True
is_banned=False
login_days=30

# 权限规则:
# 1. 管理员直接通过
# 2. 或者:是VIP 并且 未被封禁 并且 登录超过7天
ifis_adminor (is_vipandnotis_bannedandlogin_days>7):
print("🔓 访问权限:通过")
else:
print("🔒 访问权限:拒绝")

# 输出:🔓 访问权限:通过

加括号让逻辑更清晰

# ❌ 不推荐:依赖优先级,可读性差
ifnotis_bannedandis_viporis_admin:
pass

# ✅ 推荐:显式加括号,一目了然
if (notis_bannedandis_vip) oris_admin:
pass

第六步:真值判断技巧(进阶)

Python中,以下值被视为 False:

  • None

  • False

  • 0(整数0)

  • 0.0(浮点数0)

  • ""(空字符串)

  • [](空列表)

  • {}(空字典)

  • ()(空元组)

其他所有值都视为 True!

# 实用技巧:快速判断
name=""
ifnotname:           # 判断字符串是否为空
print("请输入姓名")

data= []
ifnotdata:           # 判断列表是否为空
print("暂无数据")

count=0
ifnotcount:          # 判断是否为0
print("计数为0")

总结速查表 📋

┌─────────────────────────────────────────┐
│  and:两边都真才为真(找False)          │
│  or :一边为真就为真(找True)           │
│  not:真变假,假变真                     │
│                                         │
│  优先级:not > and > or                 │
│  建议:复杂逻辑加括号!                   │
└─────────────────────────────────────────┘

课后练习 📝

试着写出下面代码的输出:

a, b, c=True, False, True
result=aorbandnotc
print(result)  # 答案是?
点击查看答案

答案:True

解析:not c → False,b and False → False,a or False → True

</details>


💬 收藏本文,随时查阅! 有任何问题欢迎在评论区留言交流~

#Python #编程入门 #逻辑运算符 #技术分享

最新文章

随机文章