在Python中and/not/or都是布尔值运算符,即返回TRUE(真)和FALSE(假)的运算结果,接下来我们用几个例子分别简单看一下这三种运算符。
(1) A and B:如果A与B中有一个为FALSE则最终结果为FALSE
A值 B值 A and B值
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE
(2) A or B:如果A与B中有一个为TRUE则最终结果为TRUE
A值 B值 A or B值
TRUE TRUE TRUE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE
(3) not A:对A取反向值,比如A为TRUE则not A为FALSE
A值 not A值
TRUE FALSE
FALSE TRUE
2. Python中的not and or优先级说明
优先级是 not >and >or,这和多数编程语言还有SQL类似。具体举个例子如下
print(not 1>3 or 4>2 and 7>8)
解析:首先1>3为FALSE,4>2为TRUE,7>8为FALSE。所以表达式可以转换为not FALSE or TRUE and FALSE。根据上文说的优先级,先计算not FALSE=TRUE,进而转换表 达式继续为TRUE or TRUE and FALSE,然后计算TRUE and FALSE=FALSE,表达 式最后变为TRUE or FALSE=TRUE
1、and为且,and两边的变量都是true的时候结果是true
如:1)5>3 and 4>2 True
2)5>3 and 4<2 False
2、or为或,有一个是true的时候结果即为true
如:1)5>3 or 4>2 True
2) 5>3 or 4<2 True
3、not取反.
如:1)not 5>3 False
2)not 5<3 True
4、当not和and及or在一起运算时,优先级为是 not >and >or.
如果有括号,括号的优先级最高,先运算括号中的结果。
如下:
第一种情况,只有一个运算符:(在不加括号的时候,and优先级大于or)。
1、and:从左到右,若所有值均为真,则返回后一个值,有一个假的值,则返回第一个假的值。
2、or:从左到右,返回第一个为真的值,都为假返回后一个值。
例如:
x or y的值只可能是x或y,x为真就是x,x为假就是y。
x and y的值只可能是x或y,x为真就是y,x为假就是x 。
第二种情况,多个运算符:
1、表达式从左至右运算,若 or 的左侧逻辑值为 True ,直接输出 or 左侧表达式 。
2、表达式从左至右运算,若 and 的左侧逻辑值为 False ,则忽略后面表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。
Python语言特点:
1、简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
2、易学:Python极其容易上手,因为Python有极其简单的说明文档。
3、易读、易维护:风格清晰划一、强制缩进。
4、速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。