python,参数数量麻烦

时间:2013-04-11 15:18:52

标签: python types arguments

我已经看到了很多这个问题,但我仍然无法看到我做错了什么。

我有几个滑块,我想要移动的滑块的值,以及滑块中的哪个滑块。

这样做:

def reading(self,value):
    sender=self.sender()
    slider=sender.objectName()[6:]
    value_slider=value

    return slider, value_slider

这似乎有效,问题在于下一个功能。 现在,我想用移动滑块的值做一些事情:

def prsn(self,slider,value_slider):
    wv=np.linspace(380,780,401)
    leds=np.genfromtxt('led_psd.txt')
    leds_norm=leds/leds.max()
    Pot_ajust=0
    for i in range(0,leds_norm.shape[1]):
        Pot_ajust=Pot_ajust+value_slider*leds_norm[:,slider];

我有错误:prsn()需要3个参数(给定1个)

为什么我不“给”prsn()3个参数?就好像它没有读取value_slider和slider

我应该如何将value_slider和slider传递给其他函数?

非常感谢您的任何提示

1 个答案:

答案 0 :(得分:0)

以下是你应该如何调用prsn:

s = stuff
vs = other_stuff
thingy.prsn(s,vs)

OR

thingy.prsn(slider=s,value_slider=vs)

这意味着在prsn的范围内:

self = thingy
slider = s
value_slider = vs

现在,请问一个问题,包括导致异常的代码行。