Python“和"带整数的运算符
问题描述
在 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 evaluatesx
; ifx
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 evaluatesx
; ifx
is true, its value is returned; otherwise,y
is evaluated and the resulting value is returned.
相关文章