热线电话:13121318867

登录
2021-01-21 阅读量: 6802
python 中not判定是根据什么判定的?

想问一下,python 里面输入not运算,是如何判断出 是True,还是False的?为啥输入not运算会有如图所示的结果?

image.png

145.6215
7
关注作者
收藏
评论(7)

发表评论
ermutuxia
2021-01-22

image.png

0.0000 0 0 回复
ermutuxia
2021-01-22

逻辑非运算只能返回True或者False


image.png

image.png

空字符串属于False族,所以取非后为True

0.0000 0 0 回复
wangxishi
2021-01-22

明白了 这个逻辑感觉跟正常思维逻辑:比较X and Y的时候,当X和Y全为TRUE 正常思维下才认定X and Y整体为True 是不一样的对吧

150.0000 1 0 回复
ermutuxia
2021-01-22

我们再学习两个广义上的定义:

广义上的True,包括True, 非空值 ,我们可以将其统称为True族。

广义上的False,包括 False,0, 空值(比如空白元组) ,我们可以将其统称为False族。

python进行逻辑运算与和或的时候比较聪明,不是在任何情况下都看完xy的值再最终返回结果,它比较注重效率,如果只看完x便能得到结果,他会直接返回结果,不再去看y,具体流程可以看下面的流程图。

image.png

相当于xtrue族的话,逻辑运算返回的结果为y,即由y来决定返回的最终结果;

xFalse族的话,逻辑运算返回的结果为x, 不需要再去看y

逻辑与运算只是返回x的值或者返回y的值。



1.2931 1 0 回复
wangxishi
2021-01-21

not "" 为啥又是True呢

150.0000 1 0 回复
wangxishi
2021-01-21

所有非零数值都相当于于True:可以理解not 0 是非零的意思,结果为True,那么not -2,为啥结果是False呢

150.0000 1 0 回复
ermutuxia
2021-01-21

所有非零数值都相当于于True,not是取非运算,所以-2取非是False,0取非是True

0.0000 0 0 回复