1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Python3 三元条件判断表达式(if else/and or)

Python3 三元条件判断表达式(if else/and or)

时间:2022-09-06 01:06:10

相关推荐

Python3 三元条件判断表达式(if else/and or)

if else表达式用法:

c =a ifa>b elseb# 先判断if条件,如果为True,返回a,否则返回b

and or表达式用法:

其原理是利用P and Q,在Python中如果P为假,那么Python将不会继续执行Q,而直接判定整个表达式为假(P值),如果P为真,那就还要继续执行Q来决定整个表达式值;同样的P or Q,如果P为真,那么就不会继续执行Q了

当数据都为布尔类型时,运算结果如下:

true and true = Truetrue and false = Falsefalse and true = Falsefalse and false = Falsetrue or true = Truetrue or false = Truefalse or true = Truefalse or false = False

当数据存在布尔类型时,运算结果如下:

12 and true = Truetrue and 12 = 12false and 12 = False12 and false = False12 or true = 12true or 12 = Truefalse or 12 = 1212 or false = 12

由结果可得以下结论:

(1)对于AND,若运算数据中存在False,则为False;否则,返回最右端数据。

(2)对于OR,若运算数据中存在False,则返回剩余数据;否则,返回最左端数据。

当数据都不为布尔类型时,运算结果如下:

6 or 7 = 66 and 7 = 7'a' or 'b' = 'a''a' and 'b' = 'b'6 or 'a' = 66 and 'a' = 'a'

可知,结论还适用。

在Python中,AND的优先级高于OR,因此,我们再按照之前的结论或者原理,可以推算出结果。写代码的时候最好根据原理来写,如果有大量的and/or,就可以用结论来判断。

5 or 6 and 7 = 55 and 6 or 7 = 65 or 6 or 7 = 55 and 6 and 7 = 7'a' or 'b' and 'c' = 'a''a' and 'b' or 'c' = 'b''a' or 'b' or 'c' = 'a''a' and 'b' and 'c' = 'c'1 or 'b' and 'c' = 11 and 'b' or 'c' = 'b'1 or 'b' or 'c' = 11 and 'b' and 'c' = 'c'

特殊情况None(不包含布尔):

1.当与具体值比较时:and返回的是None,or返回的是具体值

'a' and None = NoneNone and 'a' = None'a' or None = 'a'None or 'a' = 'a'1 and None = NoneNone and 1 = None1 or None = 1None or 1 = 1None and 1 or 'a' = 'a'1 and None or 'a' = 'a'1 and 'a' or None = 'a'

2.当与空值(如:空列表/空集合/空字典)比较时:and返回的是左边的值,or返回的是右边的值

[] and None = []None and [] = None[] or None = NoneNone or [] = []

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。