小编典典

整数和数字之间的区别.Python中的积分

python

我试图对Python的数据模型有更深入的了解,但我不完全理解以下代码:

>>> x = 1

>>> isinstance(x,int)
True

>>> isinstance(x,numbers.Integral)
True

>>> inspect.getmro(int)
(<type 'int'>, <type 'object'>)

>>> inspect.getmro(numbers.Integral)
(<class 'numbers.Integral'>, <class 'numbers.Rational'>, <class 'numbers.Real'>,
 <class 'numbers.Complex'>, <class 'numbers.Number'>, <type 'object'>)

基于以上所述,似乎intnumber.Integral不在同一层次结构中。

从Python参考(2.6.6)中,我看到了

Numbers.Integral-表示数学整数集中的元素(正和负)。

int和之间有什么区别numbers.Integral?我在上面的输出中看到的type intvs与class numbers.Integral它有关吗?


阅读 218

收藏
2021-01-16

共1个答案

小编典典

numbers定义抽象类的层次结构,这些抽象类定义了可能对数字类型进行的操作。参见PEP
3141
int和之间的区别Integralint支持所有操作Integral定义的具体类型。

2021-01-16