ここに単位変換プログラムのコードがあります。NameError
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
ますが、インスタンス化のたびに新しいセットを作成するのは無駄に思えます。また、この特定の状況では、行動を共有することが最適なようです。