not and or (逻辑表达式)
首先要做一些准备知识:
1,优先级:逻辑型 < 测试型 < 关系型 < 算数型
2,逻辑型优先级:or < and < not
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, 1<2 and 3>4 or not 1==1 or {} ->{}
(根据优先级先算not 1==1 得到1<2 and 3>4 or False or {}
再算and得到 True and False or False or {}—->False or False or {}
再算or 得到False or {}—->{})
口诀:
and 前真得后,前假得前
or 前真得前,前假得后