【发布时间】:2019-10-31 02:09:21
【问题描述】:
我有以下函数,我通常会将Vm 和Vp 作为参数传递,但是在某些情况下,我想添加一个输入参数numpy.array,称为Yin。
def solveTransmissionLineDistrbutedE(self,Vm,Vp,*,Yin=0):
在这种情况下,我在使用 Yin 调用我的函数时遇到了一个问题
numpy.arry 像下面这样一个
ec_0_04 = numpy.array([
[0.00188453428035827 + 0.0124200286145695j],
[0.00188453428035827 + 0.0124200286145695j]
])
for yin in ec_0_04:
EC,C = pinsAsLine.solveTransmissionLineDistrbutedE(-1,-1,*yin)
然后,Python 报错
EC,C = pinsAsLine.solveTransmissionLineDistrbutedE(-1,-1,numpy.array([0.00188453428035827 + 0.0124200286145695j]))
TypeError: solveTransmissionLineDistrbutedE() takes 3 positional arguments but 4 were given
我确实理解错误,Python 看到三个函数的四个输入,但我不确定如何正确地将我的数组作为输入传递给函数。
有什么提示吗?
提前致谢,
【问题讨论】:
-
如果我错了就咬我,但我认为 pinAsLine 是您传递的第四个(或者更确切地说是第一个)参数。如果 solveTransmission.... 是您的方法,请在其他参数之前添加“this”
-
代码不匹配错误信息...
-
solveTransmissionLineDistrbutedE(-1,-1,yin)?