赞
踩
布尔值只有True、False两种值。
在Python中,可以直接用True、False表示布尔值,也可以通过布尔运算计算出来。
布尔值可以用 and 、 or 和 not 运算
与运算and
只有两个布尔值都为 True 时,计算结果才为 True。
True and True # ==> True
True and False # ==> False
False and True # ==> False
False and False # ==> False
或运算or
只要有一个布尔值为 True,计算结果就是 True。
True or True # ==> True
True or False # ==> True
False or True # ==> True
False or False # ==> False
非运算not
把True变为False,或者把False变为True:
not True # ==> False
not False # ==> True
在Python中,布尔类型还可以与其他数据类型(字符串,数字等)做 and、or和not运算,请看下面的代码:
a = True
print(a and 0 or 99) # ==> 99
因为Python把0、空字符串和None看成False,其他数值和非空字符串都看成True,所以:
>>> str = ''
>>> str and 1
''
>>> str = ' '
>>> str and 1
1
>>> True and 0
0
>>> 0 or 99
99
需要注意的是,not计算的优先级是高于and和or的。
True and not False # ==> True
在计算a and b时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
在计算a or b时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
字符串可以用’ '或者" "括起来表示
空值是Python里一个特殊的值,用None表示。
注意,None和0是不一样的,None不能理解为0,因为0是有意义的,比如我有0个苹果表示我没有苹果,0表达的是数值0的意思,而不能表示为我有None个苹果,None是一个特殊的空值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。