not and or (逻辑表达式)
首先要做一些准备知识:
1,优先级:逻辑型
2,逻辑型优先级:or
3,在python中,0,‘’,[],{},(),set(),None 为假(False),其余任何东西都为真(True).
接下来就介绍他们的运算:
x and y : 如果x为真, 则y决定了结果, 返回y.
如果x为假, 则x决定了结果, 返回x.
x or y : 如果x为假, 则y决定了结果, 返回y.
如果x为真, 则x决定了结果, 返回x.
not : 返回表达式结果相反的值.
接下来举一些例子来解释:
1, 3 and 0 -> 0 (因为x为真y决定了结果,所以结果为3)
2, 3 or 0 -> 3 (因为x为真x决定了结果,所以结果为3)
3, [] and 3 -> [] (因为[]为假x决定了结果,所以结果为[])
4, None or 3 -> 3 (因为None为假y决定结果,所以结果为3)
5, 1 or 2 and 3 ->1 (因为and的优先级比or大,所以先算2 and 3 结果我3,再算1 or 3结果为1)
6, 14 or not 1==1 or {} ->{}
(根据优先级先算not 1==1 得到14 or False or {}
再算and得到 True and False or False or {}---->False or False or {}
再算or 得到False or {}---->{})
口诀:
and 前真得后,前假得前
or 前真得前,前假得后
领取专属 10元无门槛券
私享最新 技术干货