python布尔值是什么,布尔值

python布尔值

1. 什么是布尔值

但在Python语言中,布尔类型只有两个值

True:表示真值

False:表示假值

请注意,首字母要大写,不能是其它花式变型。

所有的计算结果,判断表达式调用返回值是True或者False的过程都可以称为布尔运算,例如比较运算。

布尔值通常用来判断条件是否成立。

age = 16if age >= 18: print("你是个成年人")else: print("你还未成年")

在 Python Shell 的模式下,很容易看出表达式返回的是真值还是假值。

>>> TrueTrue>>> FalseFalse>>> 3 > 2True>>> 3 > 5False>>> 3 in [1,2,3]True>>> 3 == 9/3True

2. 布尔类型的转换

Python内置的 bool() 函数可以用来测试一个表达式的布尔值结果。

>>> bool(1)True>>> bool(0)False>>> bool([])False>>> bool(())False>>> bool({})False>>> bool(-1)True>>> bool('')False>>> bool(None)False>>> bool("False")True>>> bool("True")True>>> bool(0.0)False>>> bool(1.0)True>>> bool(-0.0)False

看完上面的例子,可以总结出

下面这些值经过 bool 转换后是False:

0、0.0、-0.0

None:这个后面会讲到

空字符串、空列表、空元组、空字典

而这些会转换成True:

-1、1或者其他非0数值

所有非空字符串,包括 "False"

所有非空字典、非空列表、非空集合,非空元组

3. 布尔运算

布尔类型可以进行 and、or和 not运算。

and 运算是与运算,只有所有都为True,and运算的结果才是True:

>>> True and TrueTrue>>> True and FalseFalse>>> False and FalseFalse>>> 5 > 3 and 3 > 1True

or运算是或运算,只要其中有一个为True,or运算结果就是True:

>>> True or TrueTrue>>> True or FalseTrue>>> False or FalseFalse>>> 5 > 3 or 1 > 3True

not运算是非运算,它是单目运算符,把True变成False,False变成True:

>>> not TrueFalse>>> not FalseTrue>>> not 1 > 2True

再开下脑洞,布尔类型还能做别的运算吗?试试就知道了!

>>> True > FalseTrue>>> True >> True >=FalseTrue>>> True -10>>> True + 12>>> True *33>>> False -1-1

真的可以!比较运算,四则运算都没有问题。并且在做四则运算的时候,明显把True看做1,False看做0。往往是我们不知道的细节,有时候给我们带来巨大的困扰和疑惑。更多的运算种类支持,请大家自行测试。

4. 空值:None

空值不是布尔类型,严格的来说放在这里是不合适的,只不过和布尔关系比较紧密。

空值是Python里一个特殊的值,用None表示(首字母大写)。None不能理解为 0,因为0是整数类型,而None是一个特殊的值。

None不是布尔类型,而是NoneType

>>> bool(None)False>>> type(None)审核编辑:符乾江

相关推荐

相关文章