发布网友
共6个回答
热心网友
这是python中的重载现象,有利也有弊。
因为这里你是用一个整型和一个布尔型,用逻辑表达式连接。
当整型不为0的情况下,用or优先输出整型,用and优先输出布尔型。
当整型为0的情况下,则相反,用or优先输出布尔型,用and优先输出整型。
例子如下:
>>> 3 and False
False
>>> 1 or True
1
>>> 0 or False
False
>>> 0 and True
0追问您的回答和其他回答不太一样,但本质是一样的么?
如果整型有 0 也有 1 怎样解释?
如:
>>> False and 0 and 1
False
热心网友
or 只看前面的表达式,不看后面的,也就是说只看到了3就不看3<4了,所以3当然返回3,不会返回Ture,当是一个表达式时才返回Ture或False
3<4 or 5<4
就返回Ture了来自:求助得到的回答
热心网友
or是从左到有计算表达式,返回第一个为真的值。
热心网友
这个是and和or的区别,and是逐项计算,直到出现False或0停止,返回False或0,否则计算到最后一项返回他的值,or则是计算到True或非0值,直接返回他的值。
热心网友
这叫条件短路
热心网友
>>> 3 or 3<4
3
>>> bool(3)
True
>>>
这个写,你明白了吧!