python中的与或非详解

python中的逻辑判断与或非和其他语言的逻辑判断结果有一点不同,这一不小心就让中了招,有时候迷惑为什么结果与预测的结果大相径庭,既然是吃饭的手段,还是要认真的专研一下,以免出去让人看了笑话。

先来一组对比:

java中的逻辑运算:

在这里插入图片描述
可见java中的逻辑运算只可以用于条件之间的判断,如果逻辑运算符的前后不是条件表达式,则会报错,如下图无法通过语法检测,且逻辑运算的结果为true或者false,是一个Boolean值 在这里插入图片描述

python中的逻辑运算

python就比java要花里胡哨了,首先符号就不相同

一般逻辑符号python中的逻辑符号
&&and
||or
!not
这里展示一下python中逻辑运算符号运用
逻辑运算表达式结果展示
逻辑与运算:
3>2 and 3>1True
3 and 22
3>2 and 3>1 and 22
3 and 2>3False
0 and None0
逻辑或运算:
3>2 or 3>1True
3>2 or 2True
2 or 3>22
3 or 43
0 or NoneNone
逻辑非运算
not 3False
not 0True
从上面表可以看出:python的逻辑运算可以同时运算条件表达式和值

(1)and: 结果为真时,返回最右边的表达式,如果最右边为条件表达式,则返回True,如果右边为值时,返回值。
结果为假时,返回第一个假,如果第一个假中是条件表达式,则返回False,如果是值,返回值
(2)or :返回遇到的第一个真值,如果是条件表达式,返回True,如果是值,返回值。
如果两边都是假,则返回最后一个假,如果是条件表达式,返回False,如果是值,返回值。

总之:
(1)and的返回结果:从左到右,如果结果为真,返回最后一个真;如果结果为假,返回第一个假
(2)or的返回结果:从左到右,如果结果为真,返回遇到的第一个真值;如果结果为假,返回最后一个假值
python中为False的一些值:

(1)一切0:0,0.0,0.000
(2)空值:[],{},()
(3)None
以上这些是值类型,并不是条件表达式,所以虽然结果为False,但是返回为其本身,即返回值

例如:
逻辑运算结果
0 or [ ][ ]
0 and [ ]0
0 or NoneNone

并不是返回False,没少在这上面踩坑,我都服了,原以为这不过是一个简单的知识点,没想到里面还大有文章,从了以前学java的惯性思维了。
学习是不能自满的,天下难事比起于易。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值