如果有,我應該如何執行蟒蛇以下任務的任何建議,我很困惑: 假設我有以下類:一個Python益智遊戲
class A(object):
self._classes = []
def magic(self):
c.foo() for c in self._classes
class B(object):
def foo():'''some cool stuff here'''
class C(B):
def foo():'''very cool stuff'''
class D(B):
def foo():'''very cool stuff'''
我想要做的是,當A級是實例化所有類型的B - (C和D)將在self._classes中進行檢測,這意味着_classes是[C(),D()]。
對此的一般動機是我希望用戶輕鬆地添加類,而無需知道使用它們的類。任何幫助將被處理。
爲什麼不直接實例C&d的實例在A的__init__方法?我猜測這個問題比這更復雜。 – 2014-10-03 17:05:05
@ TonySuffolk66我的猜測是,也可以有'E類(B)','F類(B)'和'SpamEggsAndHam(B)'' – 2014-10-03 17:06:32
以上是一個玩具的例子。假設B類被20個類所劃分,或者超過了20個類,如果創建了B的一個子類的一個新實例,那麼我就沒有興趣觸及A類。 – rig 2014-10-03 17:09:35