“1 or 2”、“1 and 2”、“1 < (2==2)”、“1 < 2==2” 分别输出什么?

首先看下这道题目的结果:
“1 or 2” 的结果为 1,“1 and 2” 的结果为 2,“1 < (2==2)” 的结果为 False,“1 < 2==2” 的结果为 True。

>>> 1 or 2
1
>>> 1 and 2
2
>>> 1 < (2==2)
False
>>> 1 < 2 == 2
True

要想理解这道题目,首先得知道以下两点:

1.优先级:not > and > or

2.对于 a or b 来说,如果 a 为真,那么值为 a,否则为 b;对于 a and b 来说,如果 a 为真,那么值为 b,否则为 a。

对于 “1 < (2==2)” 而言,“(2==2)” 结果为 True,即 1,而 ”1 < 1“ 为假,所以结果为 False。

对于 “1 < 2==2” 而言, Python 是允许连续比较的,“1 < 2==2” 相当于 ”(1 < 2) and (2==2)“,所以结果为 True。

猜你喜欢

转载自blog.csdn.net/qq_44214671/article/details/111712853
1/2
2-1