gpt4 book ai didi

python - 类的初始值,python

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:30 25 4
gpt4 key购买 nike

我已经编写了一个模拟代码,我想为我的代码插入初始值。

some def are here,

class multipole:

def q(self, f1,f2,f3):
t=0.
tm=0.
xp = idistribution(j,m) # initial xp values it is a list of particles velocities
while t< k:
rk(t,m,f1,f2,f3,xp) # calculate new xp value
xp.append(xxp[1])
return xp

def h(self, f1,f2,f3):
t=0.
tm=0.
xp = idistribution(j,m) # initial xp values it is a list of particles velocities
while t< k:
rk(t,m,f1,f2,f3,xp) # calculate new xp value
xp.append(xxp[1])
return xp
if __name__ == "__main__":
qp=multipole()
quxp=qp.q(0.,0.,0.)
hxp=qp.h(0.052,0.,0.)

我的问题是,当我调用 xp=idist(j,m) 时,它将返回随机分布的 ionic 速度,但我想对两个类方法(q 和 h)使用相同的分布,我该怎么做?提前致谢。 (我是Python新手,我正在尝试从一些网页学习它)

最佳答案

将其设为类属性并计算一次:

class Multipole:
xp = idistribution(j,m)
def q(self, f1,f2,f3):
t=0.
tm=0.
xp = Multipole.xp[:]

如果它是一个平面列表,您可以进行浅复制,如果您不复制方法中对 xp 的任何更改,则将反射(reflect)在引用 Multipole 的任何地方。 xp.如果它包含其他对象,您将需要执行 copy.deepcopy

关于python - 类的初始值,python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28676534/

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