Python3 逻辑运算符

前言

本文主要介绍python中的逻辑运算符,主要内容包括逻辑运算符简介、逻辑运算符优先级。

一、逻辑运算符简介

逻辑运算符是用来做逻辑运算, 也就是我们数学中常说的 “与或非”。python中的逻辑运算符有 and(与)、or(或)、not(非)。

1、and(与) 运算

and(与) 运算逻辑表为: x and y ,表示如果 x 为 “假”,则 x and y 返回 x的值, 否则返回 y 的计算值。例如下面代码:

x = 5
y = 10

print(x and y)

输出结果:

10

注意:python中的and 跟 C语言中的 逻辑与运算(&&)是有区别的,C语言中 的&& 运算的结果是bool类型,非真即假。而python中的 and 运算结果可以是任何类型,并且返回的值 不是 x 就是 y (运算逻辑表 :x and y)。我们再举一个例子:

x = 5
y = 10

print(x>0 and y>0)     #这里的 x>0 、y>0 的计算值都是 bool 类型,x>0的计算值为True,所以返回 b>0的值,即True。

输出结果:

True

总结:运算结果的值就是最后一步判断条件的计算值——当x为假时,就能得出 a and b 为假,不再判断y,运算结果为x的值;当x为真时,就再判断y,运算结果为y的值。

2、or(或)运算

or(或) 运算逻辑表为: x or y , 表示如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。

x = 5
y = 10

print(x or y)    # a 的值为True ,能判断出 a or y 的值为 True,所以不再判断y,直接输出 a的值。

输出结果:

5

python中的or 运算跟and 运算一样,运算结果可以是任何类型,并且返回的值 不是 x 就是 y,取决于最后一步判断条件。

3、not(非)运算

not(非) 运算逻辑表为: not x 表示如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

x = 5

print(not x)

输出结果:

False

二、逻辑运算符优先级

接下来,我们看下三个运算符混合运用的情况,对于如下代码,代码一:比较not 与 or的优先级

a = True
b = False

if not b or a:
    print("not 操作先于 or 操作")

输出结果:

not 操作先于 or 操作

if not b or a: 假如 or的优先级大于not,那 b or a 的结果为True, 则not (a or b )的结果为假,结果不会有打印,所以 能反推出:not的优先级 > or的优先级。

代码二:比较not 与 and 的优先级

a = True
b = False

if not a and b:
    print("and 操作先于 not 操作")
else:
    print("not 操作先于 and 操作")

输出结果:

not 操作先于 and 操作

if not a and b:假如 and的优先级大于not,那 a and b 的结果为False,则 not(a and b)的结果为真,结果打印print(“and 操作先于 not 操作”),我们的输出结果是:not 操作先于 and 操作,所以能反推出 :not的优先级 > and的优先级。

代码三:比较 and 与 or 的优先级

a = True
b = False
c = False

print(a or b and c)  

输出结果:

True

a or b and c,假如 or 的优先级大于 and的优先级,那 a or b 结果为 True , 则 True and c 结果为 False,所以能反推出 :and的优先级 > or的优先级。

总结

逻辑运算符优先级为 not >and >or。

  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林时小卡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值