いくつかのクラス変数を含むクラスがあります:
c_dict1
、c_dict2
、c_dict3
それらはすべて辞書であり、以下のインスタンス変数のいくつかをキーとして使用していくつかの値を格納します。
このクラスのインスタンスが数百あり、それぞれに次のインスタンス変数があります。
i_key1
、、、、、、i_key2
_ i_key3
_ i_attr1
_ i_attr2
_i_attr3
最初の 3 つ ( ) を使用して、クラス変数でi_key*
後の 3 つ ( ) を検索できます。i_attr*
言い換えると:
self.i_attr1 = MyClass.c_dict1(i_key1)
self.i_attr2 = MyClass.c_dict2(i_key2)
self.i_attr3 = MyClass.c_dict3(i_key3)
私の質問は:
パフォーマンスの観点から、インスタンス変数をi_attr*
ローカルで維持する必要がありますか、それともクラス変数を使用して辞書検索を介してアクセスする必要がありますc_dict*
か? 明らかに、クラス変数を介して実行すると、インスタンスごとに 3 つのポインターが削除されるため、メモリが節約される可能性がありますが、この方法で実行すると速度が大幅に低下することはありますか?