print(3 or 5)的结果是什么?为什么?

print(3 or 5) 的结果是:

3

原因:

在 Python 中,or 是一个逻辑运算符,但当它作用于非布尔类型(比如整数)时,它的行为是:

返回第一个为真的值;如果第一个值为假,则返回第二个值。


具体分析:

  • 3 是一个非零整数,在布尔上下文中被视为 True
  • 所以 3 or 5 就是:如果 3 是 True,就返回 3;否则返回 5

由于 3True,所以返回的是 3


类似例子:

print(0 or 5)    # 输出 5,因为 0 被视为 False
print('' or 'hi')  # 输出 'hi',因为空字符串是 False
print([] or [1])  # 输出 [1],因为空列表是 False

你可以把 or 看作“选第一个有用的东西”。

你可能感兴趣的:(python)