I have here some code for a unit conversion program; it throws a NameError, because of Python's inheritance order.
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()
I was wondering what the "best" technique for this situation would be. I could make _metric_unit_names and _standard_unit_names instance variables, but to make a new set on each instantiation seems wasteful. Also having a shared behavior seems optimal in this particular situation.