【写在前面】可以参看我的视频学习,喜欢的话,关注,点赞,分享从入门到精通,一文掌握 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 x | x为False时成立 | x == False |
not None | 判断不是None | x 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 #编程入门 #逻辑运算符 #技术分享