TypeError:\u slow\u trap\u ramp()接受1个位置参数,但给出了2个
def demag_chip(self):
coil_probe_constant = float(514.5)
field_sweep = [50 * i * (-1)**(i + 1) for i in range(20, 0, -1)] #print as list
for j in field_sweep:
ramp = self._slow_trap_ramp(j)
def _set_trap_ramp(self):
set_trap_ramp = InstrumentsClass.KeysightB2962A.set_trap_ramp
return set_trap_ramp
def _slow_trap_ramp(self):
slow_trap_ramp = ExperimentsSubClasses.FraunhoferAveraging.slow_trap_ramp
return slow_trap_ramp
您的代码提取似乎包含某个类的方法,该类的完整定义未显示,您正在从另一个方法(
self._slow_trap_ramp(j)
)调用一个方法。调用方法时,Python会自动在任何其他参数之前传递self
。所以你需要把def _slow_trap_ramp(self)
改成def _slow_trap_ramp(self, j)
。你知道吗根据评论更新
为了提供真正的帮助,我们需要查看您正在编写的类的更多信息,以及您正在调用的其他对象的一些信息。但我要冒险去猜测你的代码是这样的:
仪表等级
<强>E实验类.py
当前版本主.py
如果是这样的话,那么主要问题是:
self
和j
传递给MyClass._slow_trap_ramp
,但您只将其定义为接受self
(如上所述)KeysightB2962A
和FraunhoferAveraging
的类方法,而不是实例化类和使用实例的方法,并且您可以通过将代码更改为如下所示来修复所有这些问题(请参见嵌入的注释):
新版主.py
错误很简单。你知道吗
使用参数
j
调用此方法,但该方法不接受参数(除了用于传递对象的self
)。你知道吗如果要传递参数,请重新定义方法以接受参数:
相关问题 更多 >
编程相关推荐