王振豪 发表于 2022-1-26 22:40:05

python运行结果

0 or 1 and not 2
False

0 or 0
0

什么时候结果用False,什么时候用0

傻眼貓咪 发表于 2022-1-26 23:07:16

0 or 1 and not 2
应该是 not

isdkz 发表于 2022-1-27 00:17:27

非零即True,零即False
and:左边的表达式的值为False时(即一个为零的值),and逻辑运算表达式的值就是它左边的表达式的值,因为与运算一假则假,否则and表达式就是右边表达式的值
or:    左边的表达式的值为True时(即一个非零的值),or逻辑运算表达式的值就是它左边的表达式的值,因为或运算一真则真,否则or表达式就是右边表达式的值
这是and 和 or 的短路机制
and 和 or 运算的结果是看它两边的表达式的值的
not得到的是一个布尔值,因为为True和为False的表达式并不唯一,所以就取与它运算的表达式相反的布尔值,因为布尔值是唯一的

python爱好者. 发表于 2022-1-27 06:52:46

其实 0 就代表 False!!!!

傻眼貓咪 发表于 2022-1-27 09:11:26

楼主的意思应该是问为什么结果有时候是 False/True 有时候是 0/1

*结果

python爱好者. 发表于 2022-1-27 11:41:35

当是短路路逻辑时呀

翼是孤独 发表于 2022-1-27 12:27:44

python中,由于bool是继承自int的子类,bool 和 int 混合计算的时候结果都会转成 int 类型

也就是说,如果想要的结果是int 类型的时候,True/False随便用,你想要的结果是 bool 类型时,别用 0 1
页: [1]
查看完整版本: python运行结果