我有一個類Generic
製作子類有它自己的類屬性
class Generic:
raw_data = []
objects = dict()
和具體類
class A(Generic):
raw_data = module.somethingA
class B(Generic):
raw_data = module.somethingB
我想每個raw_data
填充到每個objects
字典之類的。 爲此,我運行:
for object_type in (A, B):
for data in object_type.raw_data:
new_object = object_type(*data)
object_type.objects[id(new_object)] = new_object
然而,這不起作用,因爲objects
是A
和B
之間共享,而我想的Generic
每個子類有自己的對象。
如何在不必在每個子類上鍵入objects = dict()
的情況下實現這一目標?
我傾向於說,這是一個傳統的情況下,需要元類(這增加了objects
到每個新類);是這種情況,還是有一個更簡單的選擇?