2011-07-15 59 views
2

的替代嵌套類我看了一個帖子,指出「嵌套類不是Python化」有什麼替代什麼是在Python

請原諒我,這是不是最好的例子,但它的基本概念。一個用於執行任務的嵌套類。我基本上必須連接到多個線程的服務。

import threading, imporedlib 

class Mother(threading.Thread): 
    def __init__(self,val1,val2): 
     self.VAL1 = val1 
     self.VAL2 = val2 
    def connectandrun(): 
     for i in range(5): 
      Child.run(i) 
    class Child: 
     def run(self): 
      importedlib.runajob(Mother.VAL1, Mother.VAL2) 
+1

您期望從您編寫的代碼中得到的結果是什麼? –

回答

7

你想用的組合物:

import threading, importedlib 

class Child: 
    def __init__(self, parent): 
     self.parent=parent 

    def run(self): 
     importedlib.runajob(parent.VAL1, parent.VAL2) 



class Mother(threading.Thread): 
    def __init__(self,val1,val2): 
     self.VAL1 = val1 
     self.VAL2 = val2 

    def connectandrun(): 
     c= Child(self) 
     for i in range(5): 
      c.run(i) 

當然的名字「母親」和「孩子」是不是真的合適了這裏,但你的想法。