gpt4 book ai didi

python - 存储递归函数调用的值

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

我正在递归调用函数obtainingparams,并要求residualstau_1tau_2的值,在下面的代码中,每次调用都存储在某处,以便我可以比较与该函数的每次调用关联的值。但是,我不太确定如何去做这件事。

def obtainingparams(self, df, tau_1, tau_2, residuals):
print('Calculate the yields Matrix and matrix_of_params in this part')

params = np.linalg.lstsq(matrix_of_params,yields)
residuals = np.sqrt(((yields - matrix_of_params.dot(params))**2).sum())
tau_1 = tau_1 + 0.2
tau_2 = tau_2 + 0.2

#Checkin how many times the function has been called via a decorator not included in this code
while self.obtainingparams(self, df, tau_1, tau_2, residuals).called < 5:
self.obtainingparams(self, df, tau_1, tau_2, residuals)

谢谢

最佳答案

您可以通过使用全局列表来完成此任务,但方式有点困惑。第一次调用的参数将在values[0]中,第二次调用的参数将在values[1]中,等等。

values = []

def obtainingparams(self, df, tau_1, tau_2, residuals):
global values

print('Calculate the yields Matrix and matrix_of_params in this part')

params = np.linalg.lstsq(matrix_of_params,yields)
residuals = np.sqrt(((yields - matrix_of_params.dot(params))**2).sum())
tau_1 = tau_1 + 0.2
tau_2 = tau_2 + 0.2

values.append((tau1, tau2, residuals))

#Checkin how many times the function has been called via a decorator not included in this code
while self.obtainingparams(self, df, tau_1, tau_2, residuals).called < 5:
self.obtainingparams(self, df, tau_1, tau_2, residuals)

从设计的角度来看,如果您确实想跟踪每次调用所使用的参数,我不确定使用递归是否是最好的。

关于python - 存储递归函数调用的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31630122/

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