布尔类型,也即是逻辑类型,只含有TRUE 和FALSE两种值。
通常含有以下几种运算:
与运算
#与运算 :只有所有结果都为True ,结果才为True
print True and True #True
print False and False #False
print True and False #False
print False and True #False
#或运算 :只要有一个结果为True,结果就都为True
print True or True #True
print False or False #False
print True or False #True
print False or True #True
#非运算
print not True #False
print not False #True
布尔运算在计算机中用来做条件判断,根据计算结果为True或者False,计算机可以自动执行不同的后续代码.
在Python中,布尔类型还可以与其他数据类型做 and、or和not运算,请看下面的代码:
a=True
print a and 'a=F' or 'a=T' #==>a=F
print None and 'a=F' or 'a=T' #==>a=T
为什么结果是这样呢?
因为Python把 0、空字符串”、None都看成False,把其他数值和非空字符串看成是True。这是其一。
其二:and 和or运算中涉及到短路规则
1:a and b,如果a是False,那么整个运算结果是False,因此返回a;如果a是True,则整个运算结果取决于b,因此返回b。
2.a or b,如果a是True,那么整个运算结果是True,因此返回a;如果a是False,那么整个运算结果取决于b,因此返回b。
例:
a = 'python'
print 'hello,', a or 'world' #hello,python
b = ''
print 'hello,', b or 'world' #hello,world