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。)

你可能感兴趣的:(计算科学,python,开发语言)