lzth.net
当前位置:首页 >> python中的 AnD or 问题 >>

python中的 AnD or 问题

这两个式子分别相当于 3 and True 和3 or False。 前者问你3和True是否同时为真?答案是。所以返回True。 后者问你3或者False。当然是3。 原因是所有不为0的整数都视为True。 最后:你问的这个问题实际工作中不会有人管。谁会写这么没意义的代码。

‘and’、‘or’和‘not’的优先级是not>and>or 首先,‘and’、‘or’和‘not’的优先级是not>and>or。 and :x and y 返回的结果是决定表达式结果的值。如果 x 为真,则 y 决定结果,返回 y ;如果 x 为假,x 决定了结果为假,返回 x。 or :x or y 跟 and...

看下面这代码 >>> x = 1>>> a = 1>>> b = False>>> x == a or bTrue>>> x = False>>> x == a or x == bTrue>>>可以理解了吧 (X == a ) or b(X == a) or (X == b)

不加括号的情况下 not的优先级大于and, and的优先级大于 or 所以上式等价于 (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9) = 0 or 0 or 4 or 6 or 9 = 4 and运算时,如果第一个为False返回第一个值,否则返回第二个值 or ...

命题是不是有错?==是比较操作符,=是赋值操作符 X==(a or b)这边()的优先级非常高,可以从这个方面想

首先'a' = 'b' or 'c'这是不对的,一个等号是赋值,两个等号才是判断相等,'a'不是合法的变量名称,因此会出错 其次如果是'a'=='b' or 'c' ,在or操作中会先计算or前面的式子,如果结果为假,才会计算or后面的式子,'a'=='b'为假,因此会执行后面...

& 是位运算;and 是逻辑运算。 >>> a = 1 >>> b = 2 >>> #1 的二进制是 1,2的二进制是 10 >>> a&b 0 >>> a and b 2 注:a,b分别是整数1和2,以二进制表示分别为:01,10。 &运算结果的二进制为:00,即十进制的 0(按位逻辑运算)。 再如 :2&3...

x==a or b是两个部分,一部分为x==a的判断(可为True也可为Flase),一部分为b(永远为True),所以x==a or b结果永远是True 而x==a or x==b为两个判断x是否等于a,b的部分

not会和紧邻的接合,and优先于or, 所以处理顺序应该是 not not True = True Flase and not True = False and False = False 最后是True or False = True

首先从基本的概念着手,在Python中,None、任何数值类型中的0、空字符串“”、空元组()、空列表[]、空字典{}都被当作False,还有自定义类型,如果实现了__nonzero__()或__len__()方法且方法返回0或False,则其实例也被当作False,其他对象均为True...

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com