Python中的逻辑运算符有什么?

Python014

Python中的逻辑运算符有什么?,第1张

逻辑运算符用于组合多个条件测试语句。假设“我今年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,打印“小明获得家庭奖学金!”。

关于Python的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。

关键是一个变量/值是“相当于”True还是False。

None、False、空字符串""、0、空列表[]、空字典{}、空元组(),都相当于False。其它的都相当于True。

先说 A or B 。

如果A相当于True,那么返回A。否则,返回B。

所以,如果A和B都是False,那么A and B也是False (False or False == False)。

除了做布尔值的判断,C = A or B 这种写法,常用于不确定A是否为空值时,把B作为候补来赋值给C。

A and B相反。如果A相当于True,那么返回B。否则,返回A。

所以,只有A和B都是True时,A and B才是True (True and True == True)。