python中为什么print(None or 1 and 2) print(1 or None and 2)结果不一样?

2025-04-13 17:09:37
推荐回答(1个)
回答1:

and

or的优先级是一样的,但是
or有短路现象
True
or
xxx:
这种情况也不管xxx是什么,不会计算,就是True
所以:
None
or
1
and
2:
None
or
1

1,
1
and
2

2
1
or
None
and
2:
符合
True
or
xxx
的短路情况,所以是
1