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

相关推荐
XLYcmy34 分钟前
PDF 论文处理器 — 改进方向与建议文档
python·pdf·llm·agent·dify·rag·harness
青柠之夏cc44 分钟前
前端拖拽功能原生实现,不引入拖拽库完成业务
开发语言·前端·python
ym hyd 1111 小时前
题库建立与考试系统源码 Java+SpringBoot+Vue3 前后分离
java·开发语言·vue.js·spring boot·毕设
曾晓森1 小时前
OpenAI 兼容 API 接入山猫云:先核对分组和价格,再发最小请求
网络·python
OKkankan1 小时前
Python 高阶语法(一):高阶函数、闭包、lambda 与 functools——从底层真正理解装饰器
开发语言·python
geovindu1 小时前
rust: Facade Pattern
开发语言·后端·设计模式·rust·外观模式
福大大架构师每日一题1 小时前
Rust 1.99.0发布:C 可变参数、裸函数、Cargo 配置、Rustdoc 性能与大量兼容性调整全解析
c语言·开发语言·rust
智鸟科技GemeOpen开发者智能设备1 小时前
平安校园 AI 智能实时告警系统 智鸟科技·GemeOpen + 谷华科技·融合创新方案白皮书
java·开发语言·python·物联网·智能家居
Wang's Blog2 小时前
Java框架 SpringCloud 快速入门: Feign 的自定义配置与日志级别
java·开发语言·spring cloud
Sand(ContextGate)2 小时前
Python Agent 测试实战:测试与评估,让 Agent 像传统软件一样可交付
前端·javascript·python·microsoft·ai