python基础数据类型——布尔类型和空值

布尔类型

布尔值只有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是一个特殊的空值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值