Python逻辑运算符详解

Python 中的逻辑运算符用于对布尔值(True/False)进行逻辑运算,也可用于表达式的组合。主要有三个:and、or 和 not。

1. 基本用法

运算符 描述 示例
and 逻辑与:两边都为 True 时结果为 True True and False → False
or 逻辑或:至少一边为 True 时结果为 True True or False → True
not 逻辑非:取反 not True → False

2. 短路求值

  • and:如果左边表达式为 False,右边将不会执行,直接返回 False。
  • or:如果左边表达式为 True,右边将不会执行,直接返回 True。

这可以用于避免无效操作,例如:

python

复制代码
x = 10
复制代码
if x > 0 and 100 / x > 5:
复制代码
    print("ok")   #安全,因为x\>0为True时才计算除法

3. 返回值

逻辑运算符不一定返回 True/False,而是返回决定最终结果的那个操作数的值

  • and:如果左边为假,返回左边;否则返回右边。
  • or:如果左边为真,返回左边;否则返回右边。
  • not:总是返回 True 或 False。

python

复制代码
print(3 and 5)      # 5 (3为真,返回5)
复制代码
print(0 and 5)      # 0 (0为假,返回0)
复制代码
print(3 or 5)       # 3 (3为真,返回3)
复制代码
print(0 or 5)       # 5 (0为假,返回5)
复制代码
print(not 3)        # False
复制代码
print(not 0)        # True

利用此特性可以简化代码:

python

复制代码
name = input("输入姓名: ") or "匿名"
复制代码
print(name)   #如果用户直接回车(空字符串),name变为"匿名"

4. 优先级

优先级从高到低:not > and > or。可以使用括号改变优先级。

相关推荐
解救女汉子2 分钟前
MySQL并发写入如何避免锁竞争_使用队列缓冲与批量插入优化
jvm·数据库·python
qq_342295823 分钟前
HTML函数开发需要SSD吗_SSD对HTML函数开发效率影响【详解】
jvm·数据库·python
升鲜宝供应链及收银系统源代码服务5 分钟前
OMS 订单模块重构正式文档(一)---升鲜宝生鲜配送供应链管理系统
java·开发语言·重构·生鲜配送源代码·生鲜供应链源代码
qq_432703666 分钟前
Golang怎么用embed嵌入SQL文件_Golang如何将SQL迁移文件嵌入Go程序统一管理【技巧】
jvm·数据库·python
m0_6403093013 分钟前
如何将 sticky 元素精确定位到父容器的右上角
jvm·数据库·python
带娃的IT创业者15 分钟前
深度解析 Claude Design:如何利用 Anthropic 最新设计范式构建 AI 原生应用
人工智能·python·llm·claude·应用开发·anthropic·ai原生应用
是梦终空18 分钟前
计算机毕业设计271—基于python+深度学习+YOLOV7的车牌识别系统(源代码+数据库+3万字论文)
python·深度学习·opencv·yolo·毕业设计·pyqt5·车牌识别系统
m0_3776182325 分钟前
c++如何将双精度浮点数以科学计数法写入文件_scientific标志【详解】
jvm·数据库·python
weixin_4249993628 分钟前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
2301_7751481531 分钟前
如何用正则具名捕获组 (-) 提升复杂数据的提取效率
jvm·数据库·python