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
浙公网安备 33010602011771号