第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > python中可用于布尔测试的 如何在Python中使用布尔值?

python中可用于布尔测试的 如何在Python中使用布尔值?

时间:2022-03-09 07:39:36

相关推荐

python中可用于布尔测试的 如何在Python中使用布尔值?

Python中的布尔值是整数的子类。布尔构造函数-

bool

。bool类继承自int类。

issubclass(bool,int) // will return True

isinstance(True,bool) , isinstance(False,bool) //they both True

True

False

是单例对象。它们将在应用程序的整个生命周期内保持相同的内存地址。当您键入

True

时, python内存管理器将检查其地址并获取值1。对于

False

, 其值为0。

您可以使用

is

(标识)或

==

(等于)运算符将任何布尔表达式与

True

False

进行比较。

int(True) == 1

int(False) == 0

但是请注意,

True

和1是不同的对象。您可以检查:

id(True) == id(1) // will return False

您也可以轻松看到

True > False // returns true cause 1>0

任何整数运算都可以对布尔值进行运算。

True + True + True =3

Python中的所有对象都有一个关联的真值。每个对象都有一个

True

值, 除了:

没有

说谎的

任何数字类型均为0(0. 0.0. 0+0j等)

空序列(列表, 元组, 字符串)

空的显示类型(字典, 馆藏等)

一个实现

__bool__

__len__

方法并返回

False

0

的自定义类。

Python中的每个类都有由特殊实例方法定义的真值:

__bool__(self) OR

__len__

当您调用

bool(x)

时, python实际上

x.__bool__()

如果

x

实例没有此方法, 它将执行

x.__len__()

如果不存在, 则默认值为

True

例如, 对于类

int

, 我们可以如下定义

bool

:

def __bool__(self):

return self != 0

对于布尔值(100),

100 !=0

将返回

True

。所以

布尔值(100)==true

您可以轻松检查

bool(0)

是否为

False

。这样, 对于int类的实例, 只有0将返回False。

另一个例子=bool([1,2,3])

[1,2,3]

没有特定的方法

__bool__()

, 但是具有

__len__()

, 并且由于其长度大于0, 它将返回

True

。现在您可以了解为什么空白列表返回

False

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。