为什么 isinstance() 函数不起作用?

Why is the isinstance() function not working?

例如:

def test(arg = False):
    return arg, type(arg), isinstance(arg, int)

print(test())

将导致:

False, <class: 'bool', True>

arg变量是False,显然是booleantype() 函数是正确的,但为什么 isinstance() 函数说 arg 是一个 int?这是一个错误吗?

注意: 我正在使用 Python 3.8.5

因为bool对象是int对象,换句话说:

>>> issubclass(bool, int)
True

或者,换一种说法:

>>> bool.mro()
[<class 'bool'>, <class 'int'>, <class 'object'>]