Python布尔运算中0的问题

看到一些书里面写的,python中 and 和 or 的定义。

比如老齐的那本书写的是:

 

 

但是对0有点问题,比如 False or 0

按上面的程序走下来,返回bool(0),应该是False,但实际返回是 0,书中伪代码有问题,但是解释没问题,如果A的布尔值是False,那么返回的是B的值

A or B 正确的应该是

if bool(A)==True:
    return A
else:
    return B

A and B 正确的应该是

if bool(A)==True:
    return B
else:
    return A
posted @ 2020-03-27 01:26  Imttstr  阅读(516)  评论(0)    收藏  举报