关于python的复数类型,Python表示复数
按照你的要求,我会放弃所有这可能是个坏主意的理由。在《这是应该走的路还是有更好的选择?
当普通abs接受复数,速度快很多的时候,就不需要numpy了。functools中还有一个方便的total_ordering,适合这个简单的比较,如果你想减少代码的话(不过这样可能比较慢):从functools导入total _ ordering
@总计_订购
类CustomComplex(复杂):
def __eq__(自己,其他):
返回abs(自身)==abs(其他)
def __lt__(自身,其他):
返回资产负债表(自身)资产负债表(其他)
(这就是你需要的所有代码。)我希望我的包能够透明地处理内置的复杂数据类型以及numpy.complex。如何优雅地做到这一点,而不重复代码?
当正确的参数是一个普通的复数(或任意数)时,它将自动工作:
^{pr2}$
但是如果你想使用运算符
如果要和普通复数做这样的比较,就必须定义和使用自己的比较函数,而不是普通的运算符。或者直接用abs(a) abs(b)就可以了,很清晰,也不是很冗长。在
*内置定时abs和numpy . ABS:time it . time it( ABS(7 6J))
0.10257387161254883
timeit.timeit(np.abs(7 6j), import numpy as np )
1.6638610363006592
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。