Python 为什么内置的int#u类有';real'';图像'';conj';等等作为属性?

Python 为什么内置的int#u类有';real'';图像'';conj';等等作为属性?,python,python-3.x,Python,Python 3.x,我在探索Python内部结构时发现: >>> dir(__builtins__.int) ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__'

我在探索Python内部结构时发现:

>>> dir(__builtins__.int)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']

这很好,但有点令人困惑,因为:为什么整数类应该有
real
imag
分母和
共轭
作为属性?我注意到它们没有
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。将一个实整数添加到一个复数中是完全正确的(数学上和Python中)。Python通过向int类添加imag和real属性来支持这一点。在Python混合数字类型算法中,“窄”类型被“加宽”为“窄”类型。这意味着当int和浮点数一起使用时,它们会被加宽为浮点数和复数


请参见

INT具有imag和实部以支持混合数值运算。将一个实整数添加到一个复数中是完全正确的(数学上和Python中)。Python通过向int类添加imag和real属性来支持这一点。在Python混合数字类型算法中,“窄”类型被“加宽”为“窄”类型。这意味着当int和浮点数一起使用时,它们会被加宽为浮点数和复数


因为他们是?还要注意的是,您只需执行
dir(int)
,这不是浪费吗?我的意思是,我知道所有实数都并没有共轭,也并没有虚部和分母,只有当你们谈论的是有理数,它是整数的超集时才有意义。你们说的“浪费”是什么意思?什么的?同样,你似乎把它们当作数学类型而不是OOP类型。实数有一个共轭(本身),一个虚部(0),等等。为什么一个实数的共轭会失败,尽管它是完美定义的,仅仅因为你没有明确地将它表示为复数?每个整数都可以看作是一个虚数部分为0的复数,同样也是一个分母为1的分数。因为它们是?还要注意的是,您只需执行
dir(int)
,这不是浪费吗?我的意思是,我知道所有实数都并没有共轭,也并没有虚部和分母,只有当你们谈论的是有理数,它是整数的超集时才有意义。你们说的“浪费”是什么意思?什么的?同样,你似乎把它们当作数学类型而不是OOP类型。实数有一个共轭(本身),一个虚部(0),等等。为什么一个实数的共轭会失败,尽管它是完美定义的,仅仅因为你没有明确地将它表示为一个复数?每个整数都可以看作是一个虚部为0的复数,同样也可以看作分母为1的分数。