在numba中实现多态
💡
原文中文,约8000字,阅读约需19分钟。
📝
内容提要
在Python中,可以通过将基类中的成员函数声明为虚函数来实现运行时多态。在numba中,可以使用装饰器jitclass来实现多态,但有一些限制。在jitclass中,类的属性必须提前声明,并且只能调用经过numba即时编译的函数。另外,numba不支持基类的继承和动态派发,也不支持鸭子类型。因此,在复杂的情况下,可能需要改变代码的写法来适应numba的要求。在numba中,可以使用jitclass装饰类的属性和函数,但不能包装整个类。可以将属性定义为其他jitclass的成员,并使用jit装饰计算消耗较大的函数。
➡️