布尔类型运算结果答疑

来源:3-4 Python的布尔类型

weixin_慕前端4242958

2020-10-08 16:42

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。


写回答 关注

1回答

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

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

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


Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

154172 学习 · 1075 问题

查看课程

相似问题