至少在Python 3中,float具有属性real和imag以及方法conjugate()。既然issubclass(float, complex)评估到了False,这些的原因是什么?
这显然是一个设计选择,它是很好的扎根在Python数值类型(即bool,int,float,complex),从源代码清晰(如float)。
这已经在已经讨论PEP 3141,这导致中numbers为模块数值抽象基类模块。正如你所看到的,.real,.imag并且.conjugate()是通用的一部分Number抽象。
从实际的角度来看,这意味着可以安全地编写任何数值算法,complex并且可以对任何子Number类型正常运行。
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |