我对Python还不太熟悉,我尽量避免重复同一个代码。我目前正在使用一个Raspberry Pi,它在几个不同的类中使用GPIO,因此不需要编写
servoPin = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(servoPin,GPIO.IN)
在几个不同的类中,我希望将所有GPIO事件捆绑在一个PinHandler中
所以,我为我的handler类想到了这样的东西
import RPi.GPIO as GPIO
class PinHandler:
def __init__(self):
self.servoPin = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(self.servoPin,GPIO.IN)
def getPinStatus(self,pin):
return GPIO.input(pin)
def addEventListener(self,functionName)
GPIO.add_event_callback(self.servopin, functionName)
在我的其他课程里,我只需要打字
from pinHandler.py import PinHandler
import time
pinHandler = PinHandler()
pinHandler.addEventListener(myAwesomeFunction)
def myAwesomeFunction:
pass
然后将回调添加到myAwesomeFunction
,它不在pinHandler
的范围内。我是走对了路还是有更好的方法
更完整的OOP设计:
相关问题 更多 >
编程相关推荐