class stepper 2参数1个实例

时间:2016-05-07 13:50:52

标签: python class

我正在上课。它将控制电机的设置,以便更容易控制。

这就是我想做的事。

class robot(object):

def __init__(self, addr=0x60, port, revolution, speed):
    self._mh = Adafruit_MotorHAT(addr)
    self._stepper = self._mh.getStepper(port, revolution)
    self._speed = self._mh.setSpeed(speed)

我不工作,并给我一个语法错误,默认参数后面的非默认参数。这是因为我在一个实例中使用了2个参数。我可以进行def设置,它会起作用。

    self._mh = Adafruit_MotorHAT(addr)
    self.port = port
    self.revolution = revolution
    self._speed = self._mh.setSpeed(speed)

def setup(self):
        self._mh.getStepper(self.port, self.revolution)

但是我想在启动部分使用它,所以我不必调用motor.setup()。

因此,除了在课程中添加方法之外,还有更好的方法吗?所以它将在方法 init

2 个答案:

答案 0 :(得分:2)

所以非默认参数意味着你给它一个值。 例如:addr=0x60 您必须在普通参数之后放置这些非默认参数。 像这样:

def __init__(self, port, revolution, speed, addr=0x60):
    self._mh = Adafruit_MotorHAT(addr)
    self._stepper = self._mh.getStepper(port, revolution)
    self._speed = self._mh.setSpeed(speed)

答案 1 :(得分:1)

必需的参数位于函数签名中的可选参数之前。