问答详情
源自:3-4 Python的布尔类型

布尔类型运算结果答疑

a = True
print(a and 0 or 99) # ==> 99

Python把0、空字符串和None看成False,其他数值和非空字符串都看成True,所以:

True and 0计算结果是0 (为什么此处结果不是false,而是0)
继续计算0 or 99计算结果是 99 (为什么此处结果不是true,而是99)

因此,结果是99。


提问者:weixin_慕前端4242958 2020-10-08 16:42

个回答

  • mixuelantang
    2020-10-08 18:18:16

    短路计算。真 and  假 总是输出假,所以True and 0输出0,你也说了False和0等价,所以输出0和输出False等价。

    假 or 真 总是输出真,是指输出真的那个语句,如果先赋值a = False, 0 or a 则输出False即a 的值