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__
方法返回无。当Unit
实例化,而不是当我想,即当self._symbol
已收到一个值时,似乎执行。
我可以通过在每个子类中有一个__init__
方法使其工作,但不会干。 这是做什么的权利?
不知道你要在这里做什么。为什么不让'__repr__'返回'self.SYMBOL'? –
谢谢,你是对的。正如Martijn所指出的那样,整个'__init__'是无用的。 – Bastian