我有一個我希望註冊的類層次結構,以便以後可以訪問它。到目前爲止,我一直在做手工:如何在評估Python類時運行代碼
class FirstClass(MyBaseClass):
....
registry.register(FirstClass)
class SecondClass(FirstClass):
....
registry.register(SecondClass)
我正在尋找一種方法來調用registry.register(Class)
類時評估(即,當有人導入包類),而不必調用它明確。
我想我必須添加一些東西到MyBaseClass
,但我無法弄清楚什麼。所有特殊方法似乎都與實例相關,而不是與類有關。
有沒有辦法做到這一點?
說明: 註冊表跟蹤從BaseClass派生的類。在代碼的某個地方,我會遍歷所有這些類並實例化對象。這有點複雜,因爲註冊管理機構也在做其他事情,但這是主要想法。
只是一個小點,但你想要的是上課的時候被評估,而不是在它的聲明(其宣稱只有一次,當你寫它)。 –
你能分享一下更多的代碼嗎?什麼是註冊表,它在哪裏聲明,它在幹什麼? – timgeb
@Burhan Khalid - 謝謝,我修正了措詞。 – zmbq