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

True and 0,不就等于 True and False ,那么结果不应该是 False 么

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

True and 0计算结果是0 

那么 True and 0,不就等于 True and False ,那么结果不应该是 False 么


提问者:风灬 2021-06-16 17:07

个回答

  • 慕莱坞7070678
    2021-07-23 15:10:53

    前面是True and 0, 0 被看成False, 所以前面的结果是0(而不是False,他只是被看成False,它本身还是0)

    后面有 0 or 99, 在or里面有true选true,所以是99

  • 慕瓜8309413
    2021-06-17 12:48:51

    这个应该只是程序在运行的时候把0当成false来计算的,但是最后的结果肯定是原来给的值,只是把0当成false不代表输出的时候就是直接写成false。

  • Hassang
    2021-06-16 18:07:55

    在计算a and b时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b   把这个一套就完事儿