にスーパークラスの__init__に引数を渡す:私は、そのようにし次のクラスを考えてみましょうのpython
class FordGT(Car):
model = "Ford GT"
def __init__(self):
Car.__init__(self,self.model)
:
class Car():
def __init__(self, model):
self.model = model
私は特定のモデルを定義したい場合は、私はこのような何かを行うことができます大量の異なる車種を作り出すことができます。しかし、これを行う際の唯一の問題は、すべての車種について、の機能を繰り返すことです。
def __init__(self):
Car.__init__(self,self.model)
コードの繰り返しは、常に悪いコードの兆候です。どうすればこの問題を解決できますか?子にの init引数をinitを使用せずに親に渡すことは可能ですか?
私は単純化するために車の例を使用しましたが、実際には各クラスが私が探しているパターンを定義する一連の正規表現があります。次に、コードを繰り返さないように、親クラスのすべての処理関数を定義します。 – jhc