调用函数和回调之间的区别

时间:2018-02-23 19:04:13

标签: python python-3.x raspberry-pi gpio

我有类似的东西。使用callback = self.on_goal,它调用函数on_goal而不带参数。

GPIO.add_event_detect(self.pin, GPIO.FALLING, callback=self.on_goal, bouncetime=10)

def on_goal(self, channel):
        logger.info("Goal {}!".format(self.team))
        self.bus.notify('goal_event', {'source': 'rpi', 'team': self.team})

我可以像往常一样调用它但没有参数吗?喜欢这个?

 if inactive == True:
         inactive = False
         self.on_goal

感谢帮助人员。

1 个答案:

答案 0 :(得分:0)

回调只是函数的特定使用;您将该函数的引用作为参数传递,并保存该引用以便稍后调用。

在您的示例中,您仍然需要调用函数:

if not inactive:
    inactive = False
    self.on_goal()