Python“和"带整数的运算符

2022-01-19 00:00:00 python boolean

问题描述

在 Python 中这种行为的解释是什么?

What is the explanation for this behavior in Python?

a = 10
b = 20
a and b # 20
b and a # 10

a and b 计算结果为 20,而 b and a 计算结果为 10.正整数是否等同于 True?为什么它评估为第二个值?因为它是第二?

a and b evaluates to 20, while b and a evaluates to 10. Are positive ints equivalent to True? Why does it evaluate to the second value? Because it is second?


解决方案

文档解释这很好:

表达式x and y首先计算x;如果 x 为 false,则返回其值;否则,评估 y 并返回结果值.

The expression x and y first evaluates x; if x is false, its value is returned; otherwise, y is evaluated and the resulting value is returned.

or 也是如此,这可能是你的下一个问题.

And similarly for or which will probably be the next question on your lips.

表达式x or y首先计算x;如果 x 为真,则返回其值;否则,评估 y 并返回结果值.

The expression x or y first evaluates x; if x is true, its value is returned; otherwise, y is evaluated and the resulting value is returned.

相关文章