两种逻辑运算符均为布尔逻辑运算,不返回一个布尔值,而是返回参与运算的两个变量中的一个。
一、python之and
在布尔上下文中,从左至右进行运算,如果两个变量表达式的运算结果都为真,则返回最后一个表达式的运算结果;如果某个变量表达式的运算结果为假,则返回第一个为假的表达式的运算结果。
1 #python 3.x 2 >>> a = 1-1 3 >>> b = 1+1 4 >>> c = False 5 >>> print (b and a and c) 6 7 #输出 8 >>> 0
二、python之or
在布尔上下文中,从左到右进行运算,如果两个变量表达式的运算结果有一个真,则立刻返回该变量表达式的运算结果;如果所有变量表达式的运算结果都为假,则返回最后一个为假的表达式的运算结果。
1 #python 3.x 2 >>> a = False 3 >>> b = 1+1 4 >>> c = '' 5 >>> d = 0 6 >>> print (c or b or a) 7 >>> print (c or a or d) 8 9 #输出 10 >>> 2 11 >>> 0
三、运算优先级
在python中,两者处于同一个优先级中,运算遵循从左到右的运算法则,且遵循以上的两种法则。
参考:http://www.cnblogs.com/BeginMan/p/3197123.html