我有以下鳥定義:如何在方法中傳遞實例的引用?
class Bird:
def __init__(self, swarm, position = None):
if (swarm == None):
raise ValueError("swarm variable should not be None!")
if (not(type(swarm)).__name__ == 'ParticleSwarmOptimization'):
raise TypeError("swarm variable must be of type ParticleSwarmOptimization!")
它在最後一行養錯誤。在翻譯它打印:
(type(swarm)).__name__
'instance'
我希望它打印「ParticleSwarmOptimization」。 我打電話鳥的構造方式如下:
def AddBird(self, position = None):
self.birds += Bird(self, position)
有了這個,我想每一個鳥有主粒子羣優化類的引用,我想,以確保每一個鳥創建時間,我其實一個ParticleSwarmOptimization實例引用,而不是其他任何東西。
謝謝!
+1對於推薦新式課程,他們修復了許多舊式課程(包括這個小小的課程;-))。儘管每個人都說'isinstance'在這裏仍然是一個更好的主意;-)。 – 2009-12-13 06:10:09