Python 启动回调时提供的参数数无效

Python 启动回调时提供的参数数无效,python,raspberry-pi,gpio,raspberry-pi2,Python,Raspberry Pi,Gpio,Raspberry Pi2,刚买了一套覆盆子圆周率测试工具,开始修补它。 我有以下中断: GPIO.add_event_detect(23, GPIO.FALLING, callback=partial(sensor1, LastPour1, PourCounter1) 该方法的定义如下: def sensor1(LastPour1, Pourcounter1): 然而,当我参加活动时,我得到: TypeError: sensor1() takex exactly 2 arguments (3 given) 请开导

刚买了一套覆盆子圆周率测试工具,开始修补它。 我有以下中断:

GPIO.add_event_detect(23, GPIO.FALLING, callback=partial(sensor1, LastPour1, PourCounter1) 
该方法的定义如下:

def sensor1(LastPour1, Pourcounter1):
然而,当我参加活动时,我得到:

TypeError: sensor1() takex exactly 2 arguments (3 given)
请开导我! 下面是大部分相关代码

# GPIO 23 set up as input. It is pulled up to stop false signals
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)


VOL_PER_TICK = 5
PourCounter1 = 0
PourCounter2 = 0
LastPour1 = time.time()
LastPour2 = time.time()
Vol1 = 0
Vol2 = 0
Beer1 = ""
Beer2 = ""
workfile = 'beer_data.txt'

def sensor1(LastPour1, PourCounter1):
    "sensor 1 tripped"

    if time.time() - LastPour1 < 5:
            PourCounter1 = PourCounter1 + 1
    else:
            print "NEW POUR\n"
            PourCounter1 = 1
            LastPour1 = time.time()

    GPIO.output(19, True)
    time.sleep(0.05)
    GPIO.output(19, False)



GPIO.add_event_detect(23, GPIO.FALLING, callback=partial(sensor1, LastPour1, PourCounter1))

如果sensor1是一个实例方法,则会调用它,将绑定到的对象作为其第一个参数传递给它,即self。要么在它现在所在的类之外将其声明为普通函数,要么用@staticmethod修饰它。看看是否有助于您进行建议的更改,现在我得到一个typeerror:@staticmethod不可调用