python中not、and和or的优先级与详细用法介绍
前言
(小白专用)本次所分享的是Python中的not、and、or的执行时的优先级,以及他们的具体用法。本文比较详细,不喜勿喷。
一、not、and、or的含义以及优先级
对象 | 返回结果 | 优先顺序 |
---|---|---|
notx | ifxisfalse,thenTrue,elseFalse | 1 |
xandy | ifxisfalse,thenx,elsey | 2 |
xory | ifxisfalse,theny,elsex | 3 |
含义:not是“非”;and是“与”;or是“或”(可以用数学去理解)
1、notTrue=False或者notFalse=True(非真就是假,非假即真)
2、and是一假则假,两真为真,两假则假
3、or是一真即真,两假即假,两真则真
优先级是not>and>or
代码如下(示例):
x=1#将x赋值为1 y=0#将y赋值为0 z=0#将z赋值为0 print(xoryandnotz) ''' 输出结果为 1 '''
小提示:我们知道在编程语言中“非0即是True”,也就是“0为False,1为True”
- 由于优先级是not>and>or,所以首先执行notz(也就是not0),
即not0=notFalse=True=1
下一步是轮到了and,那么yand1(已知y=0)即0and1,也就是
FalseandTrue(假与真),我们刚刚谈过and,一假即假,故
yand1=0and1=False=0
最后一步按优先级是轮到了or,即xor0(已知x=1),
即1or0=TrueorFlase=True=1(or即“或”中,一真即真)
所以输出结果为1
- 总结:代码运算过程为:(用数学符号表示优先级)
{xor[yand(notz)]}
二、not、and、or的使用方法
1.not
ifxisfalse,thenTrue,elseFalse
如果x为False则notx为True,否则为False
(如果x是假的,则“非假”为真,否则x是真的,则非真为假)
在编程中是布尔运算,即返回值是True或者False
代码如下(示例):
print(not0,not1,notTrue,notFalse) ''' 输出结果为: TrueFalseFalseTrue '''
2.and
and运算后的返回结果:
从左到右计算表达式,若所有的都为真,则返回最后一个值,若存在假,返回第一个值。
简单理解:
and的目的是找到并返回第一个False(假)或最后一个True(真)(从左往右找)(一假即假,两真即真)
代码如下(示例):
1、找到并返回第一个False(假)
print(1and2and0and4andFalse) ''' 输出结果为: 0 '''
因为and是找到第一个False(假),我们知道在计算机中,
False即为0,所以输出结果是0
2、找到并返回最后一个True(真)
print(1and2andTrueand4and6) print(2and5andTrueand7andTrue) ''' 输出结果为: 6 True '''
因为1,2,True,4,6都不是0,我们知道非零True,所以都是真的,那么输出最后一个真值,所以输出结果为6
因为2,5,True,7,True都不是0,都是真的,同理输出最后一个真值,所以输出结果为True
3.or
or运算后的返回结果:
从左到右计算表达式,只要遇到真值就返回那个真值,如果表达式结束依旧没有遇到真值,就返回最后一个假值。
简单理解:
or的目的是找到并返回第一个True(真)或最后一个False(假)(从左往右找)(一真即真,两假即假)
代码如下(示例):
1、找到并返回第一个True(真)
print(0or0or''or8or1) ''' 输出结果为: 8 '''
小提示:
- 在python中,[]或者''或者()或者None都是空的意思,
空也为假,即空=假=False
- 由上面的代码可以看到,有两个真值分别是8和1,但我们要找到作用范围内的第一个真值(True),即第一个为8,所
以输出结果为8
2、找到并返回最后一个False(假)
print([]or0or''orNoneor()) ''' 输出结果为: () '''
小提示:
- 在python中,[]或者''或者()或者None都是空的意思,
空也为假,即空=假=False - 此处可以知道,代码中都为假(False),所以要找到最后一个假(False)并返回这个值。最后一个是()所以输出结果为()
总结
- 优先级是not>and>or
- not:如果x是假的,则“非假”为真,否则x是真的,则非真为假
- and:找到并返回第一个False(假)或最后一个True(真)
- or:找到并返回第一个True(真)或最后一个False(假)
到此这篇关于python中not、and和or的优先级与详细用法介绍的文章就介绍到这了,更多相关python中not、and和or优先级与用法内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!