Python 为什么 issubclass(int, float) return False
Python why does issubclass(int, float) return False
在Python中,为什么issubclass(int, float)
和isinstance(1, float)
returnFalse
?
我一直以为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
提到 [The numeric tower][1]
来自 PEP 484,但我认为那是为了类型提示。
因为int
不是float
的子类:
>>> import inspect
>>> inspect.getmro(int)
(<class 'int'>, <class 'object'>)
>>> inspect.getmro(float)
(<class 'float'>, <class 'object'>)
在Python中,为什么issubclass(int, float)
和isinstance(1, float)
returnFalse
?
我一直以为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
提到 [The numeric tower][1]
来自 PEP 484,但我认为那是为了类型提示。
因为int
不是float
的子类:
>>> import inspect
>>> inspect.getmro(int)
(<class 'int'>, <class 'object'>)
>>> inspect.getmro(float)
(<class 'float'>, <class 'object'>)