Python 逻辑运算之 'and' 和 'or'

两种逻辑运算符均为布尔逻辑运算,不返回一个布尔值,而是返回参与运算的两个变量中的一个。

一、python之and

在布尔上下文中,从左至右进行运算,如果两个变量表达式的运算结果都为真,则返回最后一个表达式的运算结果;如果某个变量表达式的运算结果为假,则返回第一个为假的表达式的运算结果。

#python 3.x
>>> a = 1-1
>>> b = 1+1
>>> c = False
>>> print (b and a and c)

#输出
>>> 0

二、python之or

在布尔上下文中,从左到右进行运算,如果两个变量表达式的运算结果有一个真,则立刻返回该变量表达式的运算结果;如果所有变量表达式的运算结果都为假,则返回最后一个为假的表达式的运算结果。

#python 3.x
>>> a = False
>>> b = 1+1
>>> c = ''
>>> d = 0
>>> print (c or b or a)
>>> print (c or a or d)

#输出
>>> 2
>>> 0

三、运算优先级

在python中,两者处于同一个优先级中,运算遵循从左到右的运算法则,且遵循以上的两种法则。

猜你喜欢

转载自www.linuxidc.com/Linux/2016-10/136464.htm