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。可以使用括号改变优先级。

相关推荐
qq5918406852 小时前
uiautomator2自动化安卓手机操作
python
80s7772 小时前
动态代理和静态代理的区别,动态代理怎么提高网络安全性
python
浪子明X3 小时前
十六位账本怎样发现传输差错:Internet Checksum 生活类比
开发语言
niucloud-admin4 小时前
JAVA V6 多商户商城 开发文档——job 计划任务开发
java·python·github
小叶肥辉4 小时前
LangChain链和LangGraph图的学习笔记【三】——分别用langchain_openai库和langchain_community库调用大模型
笔记·python·langchain
2401_873479405 小时前
IP属地为什么有时显示外省?用IP查询工具核查动态分配、运营商出口与GeoIP库
python·tcp/ip·ip
xiangyun615 小时前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun615 小时前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
OKkankan7 小时前
LangChain 能力详解!:输出解析、RAG、向量数据库与 Retriever 检索器
数据结构·python·langchain·ai应用
白远山7 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析