我有一个Python函数(在某个地方的卡尔曼过滤器中),我用大量的打印调试了该函数,它似乎运行良好。
return语句之前的打印显示该值确定:
def step(self, z):
#----code----
#----alghoritm---
print("self.x that I'm returning:", self.x) # The printed value is [-163.53868766 -160.27005497] so it is OK
return self.x
print("UNREACHED CODE") # OK, it is not printed
调用此函数的是:
print("I call step with", tvec[0][0], tvec[1][0]) # Values are OK
estimate = self.kalfilt_trasl_x_y.step((tvec[0][0], tvec[1][0])) # The returned value is none
print("returned value: ", estimate) # Is none
答案 0 :(得分:0)
终于找到了问题所在。 没错,问题出在代码的另一部分。 这个问题是天生的,因为我无需接触即可重用其他代码。 ipdb可用于逐行调试。