当前位置: 首页 > news >正文

Python语句中OR逻辑运算符用例分析

李升伟 整理

问题:

请运行如下代码,并解释打印的结果:
a = 'python'
print('hello,', a or 'world')
b = ''
print('hello,', b or 'world')

解答:

运行代码后的输出结果为:

hello, python
hello, world

关键逻辑解释

1. a = 'python' 时的行为
  • 逻辑判断 a or 'world'

    • a 的值是 'python'(非空字符串),在 Python 中非空字符串被视为 真值(Truthy)

    • or 运算符的规则是:返回第一个为真的值,因此直接选择 a

    • 最终输出:hello, python

2. b = '' 时的行为
  • 逻辑判断 b or 'world'

    • b 的值是空字符串 '',在 Python 中空字符串被视为 假值(Falsy)

    • or 运算符会跳过假值,继续检查下一个值 'world'(非空字符串,为真)。

    • 最终输出:hello, world


Python 中 or 的底层规则

  • 短路逻辑or 会从左到右依次检查表达式中的值,返回 第一个为真的值,后续不再计算。

  • Truthy 与 Falsy

    • Falsy 值False0''(空字符串), None, 空容器(如 []{}())。

    • Truthy 值:除上述外的其他值(如非空字符串、非零数字、非空容器)。


类似场景举例

若变量值为其他 Falsy/Truthy 类型,行为类似:

# 示例1:变量为 0(Falsy)
c = 0
print(c or 100)  # 输出 100

# 示例2:变量为列表(Truthy)
d = [1, 2]
print(d or [3, 4])  # 输出 [1, 2]

通过理解 or 的短路逻辑和 Truthy/Falsy 规则,可以高效控制默认值或条件分支。

(解答来自deepseek。)

相关文章:

  • unity学习63,第2个小游戏:用fungus做一个简单对话游戏
  • grpc工具使用
  • SQL基础语法
  • 数据结构与算法:二分答案法
  • 文件IO函数和目录相关函数
  • 飞算JavaAI编程工具集成到idea中
  • STM32 -- 仿真器 ST-Link、J-Link 的连接、参数设置
  • 版本控制器Git和gdb
  • 一键无损放大视频,让老旧画面重焕新生!
  • 充分必要条件
  • 探索DeepSeek-R1的核心秘诀:突破SFT技术的新篇章
  • 【自学笔记】Hadoop基础知识点总览-持续更新
  • MySQL性能调优(添加索引)
  • 低空经济中 建立统一的数据共享平台,促进信息透明和协同决策。
  • [Computer Vision]图像分割技术
  • 新版 FMEA 七步法 - PFMEA 第2步“结构分析”的关键要点 | FMEA软件
  • Mac OS升级后变慢了,如何恢复老系统?
  • 题目梳理2025[长期更新]
  • java面试复习巩固
  • SSE 和 WebSocket 的对比
  • 足球少年郎7月试锋芒,明日之星冠军杯构建顶级青少年赛事
  • 经济日报整版聚焦:上海构建法治化营商环境,交出高分答卷
  • 有关部门负责人就《新时代的中国国家安全》白皮书答记者问
  • 这些网红果蔬正在收割你的钱包,营养师:吃了个寂寞
  • 人民空军:网上出现的“运-20向外方运送物资”为不实消息
  • 农林生物安全全国重点实验室启动建设,聚焦重大有害生物防控等