【发布时间】:2016-10-19 16:59:30
【问题描述】:
有人可以解释一下为什么isinstance() 在以下情况下返回 True 吗?在编写代码时,我期望 False。
print isinstance(True, (float, int))
True
我的猜测是它的 Python 内部子类化为零和一(无论是浮点数还是整数)都在用作布尔值时进行评估,但不知道确切的原因。
解决这种情况的最pythonic方法是什么?我可以使用type(),但在大多数情况下,这被认为不那么pythonic。
【问题讨论】:
标签: python int boolean comparison isinstance