0和null(空)是Flase,别的都为True
下面的代码将正常执行不会报除零错误:
a=0 b=1 if ( a > 0 ) and ( b / a > 2 ): #判断a>0为错误后,则后面(b/a>2)不再判断 print "yes" else : print "no"下面的代码执行后将会报错
a=0 b=1 if ( a > 0 ) or ( b / a > 2 ): #or判断完(a>0)不成立,还要判断(b/a>2) print "yes" else : print "no"python 复合布尔表达式计算采用短路规则,即如果通过前面的部分已经计算出整个表达式的值,则后面的部分不再计算