「Waveplate」というデバイスと通信するために作成したクラスです。 "Waveplate"クラスは、serial.Serial Baseclassの属性とメソッドを継承します。しかし、あなたが見るように、ベースクラスserial.Serialを初期化する必要があります。私が作品の下でやったことは、私の質問です、これは最もエレガントな方法ですか?クラス '__init__メソッド内のベースクラスの初期化
import time
import serial
class WavePlate(serial.Serial):
""" This class returns an instance that contains the attributes and methods of a ``serial.Serial`` object.
"""
def __init__(self, p, brate):
"""Here's the constructor. """
self.p = p
self.brate = brate
serial.Serial.__init__(self, port=self.p, baudrate=self.brate, parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE)
[Pythonの 'super()'はスーパーだと思っています!](https://rhettinger.wordpress.com/2011/05/26/super-considered-super/) – AChampion
通常は、ベースクラス '__init__'を最初に呼び出します次に、子クラスのために残されたものを実行します。それはあなたが 'self.p'と' self.brate'を明示的に設定していて、 'Serial .__ init__'に同じ値を渡しているという疑わしいものとして私を襲います。 – chepner
ありがとうございました.. super()は超驚くほど聞こえます – Ravi