我在这里有一些单元转换程序的代码;它会抛出一个NameError
,因为Python的继承顺序。Python的类变量和继承
class _Units :
_metric_unit_names = {'metric'}
_standard_unit_names = {'standard'}
class TemperatureUnits (_Units) :
_metric_unit_names.update({'celsius', 'c'})
_standard_unit_names.update({'fahrenheit', 'f'})
TemperatureUnits()
我想知道这种情况下最好的技术是什么。我可以制作_metric_unit_names
和_standard_unit_names
实例变量,但是在每个实例上创建一个新集合似乎很浪费。在这种特殊情况下,共享行为似乎也是最佳的。
什么让你相信你需要多个类,甚至在这里继承,当同一类的多个实例可能是足够的?在这里没有显示的子类中是否存在一些行为? – 2013-02-26 00:04:22