0
私はクラスのメンバーとして、いくつかの定数を設定したいと私は、これはそれを行うには間違った方法であると感じます。例えばPython、親クラスのinitで定数を設定する方法は?
class Unit:
def __init__(self, SYMBOL=None, RATIO_TO_METER=None):
self._symbol = SYMBOL
self._ratio_to_meter = RATIO_TO_METER
def __repr__(self):
return self._symbol
class Inch(Unit):
SYMBOL = 'in'
RATIO_TO_METER = 0.0254
class Metre(Unit):
SYMBOL = 'm'
RATIO_TO_METER = 1
class Yard(Unit):
SYMBOL = 'yd'
RATIO_TO_METER = 0.9144
__repr__
メソッドはNoneを返します。それはUnit
がインスタンス化しているときに実行していると思われます。つまり、self._symbol
が値を受け取ったときです。
それぞれの子クラスに__init__
メソッドを持つことで動作させることができますが、それはDRYではありません。 これを行う権利は何ですか?
ここで何をしようとしているのかよく分かりません。 'self.SYMBOL'を返すために' __repr__'を取得してみませんか? –
ありがとうございます。 Martijnが指摘しているように、 '__init__ '全体は役に立たない。 – Bastian