我试图将一个方法添加到现有的Python类中,但它正在生成一个scipy.stats错误。
import scipy.stats as stats
class myPoisson(stats.poisson) :
def myMethod(var, **kwargs) :
return var我尝试添加一个__init__方法,调用super().__init__(self),但这并没有改变错误。
对于扩展现有的Python类,我缺少什么?
发布于 2019-10-08 21:24:35
Scipy.stats发行版是实例,而不是类(出于历史原因)。因此,您需要继承例如poisson_gen,而不是poisson。更好的是,直接继承rv_continuous或rv_discrete。有关子类发行版的一些信息,请参阅rv_continuous的docstring
发布于 2019-10-08 00:38:20
希望下面的示例能够帮助您解决问题。
def myMethod(var, **kwargs):
return var
stats.poisson.myMethod = myMethod
stats.poisson.myMethod(2)有关该主题的更多详细信息,请参阅Adding a Method to an Existing Object Instance。
https://stackoverflow.com/questions/58272743
复制相似问题