python逻辑运算符有哪些
逻辑运算符用于组合多个条件测试语句。假设“我今年18岁”和“我身高2米”这两个语句,前一个语句是真的,后一个语句是假的,因此,“我今年18岁,并且我身高2米”这个语句是假的。其中,“并且”可以认为是逻辑运算符。Python中有三种逻辑运算符,分别是and、or和not。
一、逻辑运算符and
在某些场景下,需要同时检查两个甚至更多的条件。假设某运动队招收运动员的要求是年龄不得低于14周岁,同时身体健康,使用逻辑运算符and来判断是否符合要求:
使用逻辑运算符and连接的两个布尔表达式的值必须都为True,返回值才为True;如果其中一个布尔表达式的值为False或两个布尔表达式的值都为False,那么返回值为False。假设另一个报名的运动员今年13岁,身体健康,那么他不符合要求:
“符合条件”并不会被打印出来。
同样,如果年龄和健康都不符合要求,也不会打印“符合条件”:
二、逻辑运算符or
逻辑运算符or也可以同时检查两个甚至更多的条件,与and不同的是,只要其中一个布尔表达式的值为True,返回值就为True。假设某一项考试分两场,均为60分及格,只要有一场及格,考试就算通过,使用逻辑运算符or来判断是否通过考试:
使用逻辑运算符or连接的两个布尔表达式的值必须都为False,返回值才为False。假设另一个人第一场考试得了59分,第二场考试得了58分,那么他没有通过考试:
三、逻辑运算符not
逻辑运算符not用于对一个布尔表达式取反,即原本返回值为True的表达式,使用not运算符后则返回False;而原本返回值为False的表达式,使用not运算符后则返回True。假设某个游乐园区要求年龄不低于18岁的游客才能进入,使用逻辑运算符not来判断是否可以进入:
逻辑运算符不仅可以单独使用,也可以混合使用。假设为了鼓励小明好好学习,他的家中设置了家庭奖学金,如果每次考试小明的数学成绩达到95分并且语文成绩达到85分,或者数学成绩达到85分并且语文成绩达到90分,那么可以获得家庭奖学金:
在布尔表达式“(math >= 95 and chinese > 85) or (math >= 85 and chinese > 90)”中,使用or运算符连接的两个布尔表达式“math >= 95 and chinese > 85”和“math >= 85 and chinese > 90”只要有一个值为True,返回值就为True。而对于布尔表达式“math >= 95 and chinese > 85”和“math >= 85 and chinese > 90”,都是使用and运算符连接的,故and运算符连接的两个布尔表达式的值必须都为True,返回值才为True。小明的数学成绩是98分,语文成绩是88分,布尔表达式“math >= 95 and chinese > 85”的值为True,“math >= 85 and chinese > 90”的值为False,因此,整个布尔表达式的值为True,打印“小明获得家庭奖学金!”。
如果比较式成立,返回True;不成立,则返回False。
常见的比较运算符如下:
除了简单的两值相比之外,比较运算符还支持比较复杂的比较。
(1)多条件比较:
可以先给变量a赋值,然后做多条件比较。
1 a = 3
2 print(1 < a < 5)
(2)变量的比较:
给变量a和变量b分别赋值,进行比较。
1 a = 3
2 b = 3
3 print(a != b)
4
5 s1 = 'duwangdan'
6 s2 = 'DuWangDan'
7 print(s1 == s2)
(3)函数结果的比较:
1 print(abs(-1) > len('duwagndan'))
2 # abs():返回输入参数的绝对值
在比较运算中有一些需要留意的小问题:
不同类型的对象不能用“>、>=、<、<=”进行比较,但可以用“==、!=”做比较。
1 print(21 == len('duwangdan'))
在文章开头说过,True对应的是1,False对应的是0。看下面这个例子,False+True其实相当于0+1:
1 print(False + True > False + False)
2. 成员运算符:
成员运算符的关键词是“in”,判断一个元素是否在某一个列表中。运行如下程序后,可得到反馈结果。
1 a = 1
2 b = 'beautiful'
3 album = [1,'beautifully',False,7]
4 # 创建列表,命名该列表为album
5 print(a in album)
6 print(b in album
当album=[]时,表示该列表为空。
如果想在album中新增内容,可以用append方法来实现。新增后,会在列表末尾显示新增的内容。
1 album = [1,'beautifully',False,7]
2 album.append('Wow')
3 # 用append()方法在album中新增内容
4 print(album)
3. 身份运算符:
身份运算符是用来比较两个对象是否是同一个对象,而之前比较运算符中的“==” 则是用来比较两个对象的值是否相等。
身份运算符主要用“is、is not”来判断。
1 a = 'duwangdan'
2 b = 'duwangdan'
3 print(a is b)
4 print(a is not b)
4. 布尔运算符:
在Python中有3种布尔运算符:and、or、not。
如下例子,返回结果分别为:False、True、True。
1 print(1 > 2 and 1 > 0)
2 print(1 > 2 or 1 > 0)
3 print(not False)
2021-06-24 · 百度认证:北京一天天教育科技有限公司官方账号,教育领域创作者
and:逻辑与运算;
or:逻辑或运算;
net:逻辑非运算。