gpt4 book ai didi

python - 继承问题 scipy.stats.pareto

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:18 28 4
gpt4 key购买 nike

我有以下类(我将用它来扩展现有类scipy.stats.pareto):

class pareto(scipy.stats.pareto):
def __init__(self, b):
super().init(b)
return

当我现在运行以下代码时:

u=pareto(2)
u.cdf(1)

我收到一个错误。但是,当我运行以下代码时:

u=scipy.stats.pareto(2)
u.cdf(1)

代码运行并返回0.0。我希望第一个代码片段能做同样的事情?

最佳答案

scipy.stats.pareto 不是一个类。它是类的一个实例:

scipy.stats.distributions.pareto_gen

我们可以为我们自己的类构建类似的接口(interface),例如:

代码:

import scipy.stats as stats

class pareto(stats.distributions.pareto_gen):

def __new__(cls, *args, **kwargs):
# get a `pareto` instance
self = stats.distributions.pareto_gen(a=1.0, name="pareto")

# call the instance with desired setup
return self(*args, **kwargs)

def __init__(self, *args, **kwargs):
# already called __init__()
pass

测试代码:

u = stats.pareto(2)
print(u.cdf(1))

u = pareto(2)
print(u.cdf(1))

结果:

0.0
0.0

关于python - 继承问题 scipy.stats.pareto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49576853/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com