在Python中,为什么issubclass(int, float)
和isinstance(1, float)
都返回False
?
我一直认为int
是float
的子类。
In [1]: issubclass(int, float)
Out[1]: False
In [2]: isinstance(1, float)
Out[2]: False
研究
https://github.com/Stewori/pytypes/issues/26
PEP 484中的内容[The numeric tower][1]
,但我认为这是针对类型提示的。
答案 0 :(得分:2)
因为int
不是float
的子类:
>>> import inspect
>>> inspect.getmro(int)
(<class 'int'>, <class 'object'>)
>>> inspect.getmro(float)
(<class 'float'>, <class 'object'>)