是否有一种方法来欺骗类的isinstance结果?



(编辑标题,因为答案适用于任何类,而不仅仅是cython类)

我正在开发对性能有严格限制的扩展类型,我对结果很满意。

我发现,对于一个基本上是浮点数限制为0

我发现的一个问题是使用pytest进行测试。除非是简单的精确值,否则ApproxScalar只在类型是Complex或Decimal的子类时才会尝试进行进一步的比较。

是否有任何方法在python/cython中,我可以欺骗isinstance调用相信我的类是float实例?

numbers.Complex是一个抽象基类,因此有一个register方法,您可以使用该方法将任何Python类型与它关联,以便它为isinstance返回True

你想注册的类是一个Cython cdef类这一点都不重要

最新更新