因为Python把0、空字符串和None看成False,其他数值和非空字符串都看成True,所以:
True and 0
计算结果是0
那么 True and 0,不就等于 True and False ,那么结果不应该是 False 么
前面是True and 0, 0 被看成False, 所以前面的结果是0(而不是False,他只是被看成False,它本身还是0)
后面有 0 or 99, 在or里面有true选true,所以是99
这个应该只是程序在运行的时候把0当成false来计算的,但是最后的结果肯定是原来给的值,只是把0当成false不代表输出的时候就是直接写成false。
在计算a and b时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b 把这个一套就完事儿