#Python3中布尔类型False和True 您所在的位置:网站首页 pythontrue #Python3中布尔类型False和True

#Python3中布尔类型False和True

2023-07-28 01:45| 来源: 网络整理| 查看: 265

Python中布尔类型bool

布尔类型只有True(正确)和False(错误)两种值,但是布尔类型有以下几种运算: True:一个条件正确,Python把1和其他数值和非空字符串都看成 True, False:一个条件错误,Python把0、空字符串’'和None看成 False

1.与运算:只有两个布尔值都为 True 时,计算结果才为 True。

print(True and True) #(输出)True print(True and False) #(输出)False print(False and True) #(输出)False print(False and False) #(输出)False

2.或运算:只要有一个布尔值为 True,计算结果就是 True。

print(True and True) #(输出)True print(True and False) #(输出)True print(False and True) #(输出)True print(False and False) #(输出)False

3.非运算:把True变为False,或者把False变为True:

print(not True) #(输出)False print(not False) #(输出)True

4.布尔类型还可以与其他数据类型做 and、or和not运算:

a = True print (a and 'a=T' or 'a=F') #(输出)a=T

出现上诉情况是因为Python把0、空字符串’'和None看成 False,其他数值和非空字符串都看成 True,所以: True and ‘a=T’ 计算结果是 ‘a=T’ 继续计算 ‘a=T’ or ‘a=F’ 计算结果还是 ‘a=T’ 5.True和False的运算情况 当True和False遇到int类型 进行运算时(+ - * / ** 等),True看成1,False看成0

print(True + 3) #(输出)4 print(False + 3) #(输出)3 print('aaz' > 'aba') #(输出)False print( 3.2-True) #(输出)2.2 print( 3.2*True) #(输出)3.2 print( 3.2/True) #(输出)3.2 print('h' > 1) #(输出)TypeError: '>' not supported between instances of 'str' and 'int' #报错,不是相同类型不能比较 print(False + "asd") #(输出)TypeError: unsupported operand type(s) for +: 'bool' and 'str' #报错不支持类型+bool 和strTypeError: unsupported operand type(s) for +: 'bool' and 'str'

上述结果,又涉及到 and 和 or 运算的一条重要法则:短路计算。

在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。

在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。

所以用Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有