2016-07-06 3 views
0

インポートされたRPi.GPIOライブラリを使用して、Raspberry Piで2つのDCモーターの電力を制御するクラスを作成していました。以下のようにコードがある:コンストラクタ引数クラスのインスタンスを宣言するときのエラー

import RPi.GPIO as GPIO 

class Motor: 

    def _init_(self, MotorPin): 
     self.MotorControlPin = MotorPin 
     GPIO.setmode(GPIO.BOARD) 
     GPIO.setup(self.MotorControlPin, GPIO.OUT) 
     self.PWM = GPIO.PWM(self.MotorControlPin, 100) 
    def SetPower(self, Power): 
     self.PWM.start(Power) 

私はクラスのインスタンスを作成しようとすると、RightMotor = Motor(12) PythonはエラーにTraceback (most recent call last): File "<pyshell#23>", line 1, in <module> RightMotor = Motor(12) TypeError: this constructor takes no arguments

を返すPythonのIDLEは_init_(self, Motor)関数は引数を取らないことを考えているようです。関数を間違って使用していますか?そうでない場合は、何が問題なのですか?

答えて

1

Pythonのコンストラクタメソッドの名前は__init__です。先頭に2つのアンダースコアがあり、最後に2つあります。コードでは_init_が代わりに定義されています。これは、Pythonに関する限り、オブジェクトの構築に関係しないもう1つの通常の方法です。

+0

私が今まで見たことがない場合、不注意な間違い!助けてくれてありがとう! – Mension1234

関連する問題