有人可以给我一个解释,为什么isinstance()在下列情况下返回True?编写代码时,我期待False.
print isinstance(True, (float, int))
True
Run Code Online (Sandbox Code Playgroud)
我的猜测是它的python的内部子类,如0和1 - wheter float或int - 在用作布尔值时都会计算,但不知道确切的原因.
什么是解决这种情况的最pythonic方式?我可以使用,type()但在大多数情况下,这被认为是较少pythonic.