我有一個包含一些類變量的一類:類變量查找VS實例變量查找
c_dict1
,c_dict2
,c_dict3
他們都是字典和存儲使用一些的一些值下面的實例變量作爲鍵。
我有這個類的實例幾百,每個具有以下實例變量:
i_key1
,i_key2
,i_key3
,i_attr1
,i_attr2
,i_attr3
他們前三( i_key*
)可以用來查找類變量中的後三個(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*
字典查找訪問它們?很顯然,通過類變量來消除每個實例的三個指針,這可能會節省一些內存,但是這樣做會有什麼重大的速度損失嗎?
我覺得挺奇怪的「場景」。你確定你是以正確的方式做到這一點嗎?沒有一種更簡單的方法來做你想做的事情嗎? – Bakuriu
我想我們需要知道你的程序的目的。什麼是「MyClass」? 「i_key」,「i_attr」和「c_dict」代表什麼? – japreiss