x
的类型为bool
。那么,为什么我的代码具有输出True
?我是Python的新手。这是怎么回事?
代码:
x = True
print(isinstance(x, int))
输出:
True
答案 0 :(得分:3)
这是因为bool
是int
的子类。
布尔值(bool)
这些代表真值False和True。代表值False
和True
的两个对象是唯一的布尔对象。 布尔类型是整数类型的子类型,布尔值在几乎所有情况下的行为分别类似于值0和1,唯一的例外是当转换为字符串时,字符串{{ 1}}或"False"
分别返回。
回答评论
如果您进行了
"True"
,它还会返回True
吗?
不。 isinstance(bool, int)
和True
是False
的 instances ,因此是父类bool
的实例,但是int
本身不是< bool
中的em> instance 。作为类,它是int
的实例,是type
的 subclass 。
int
答案 1 :(得分:0)
因为布尔值是整数的子类型。参见docs。