2012-02-14 16 views
0

abc.py、クラスaでb()を作成する方法は?Pythonは関数内でクラスを定義し、クラスはグローバルにアクセスできます

class a(object): 
    bInst=b() 

def start(): 
    class b(obj): 
    pass 

if __name=='__main__' 
    start() 

変数を使用する方法、ここではコードは、 'myCls'は定義されていません。

class a(obj): 
    inst=myCls() 

def start 
    tSuiteN="myCls" 
    exec('global tSuiteN') 
    str="class {}(object): pass".format(tSuiteN) 
    exec(str) 
+0

これは何ですか...私もそうではありません。 – wim

答えて

3

グローバルにする。

def start(): 
    global b 
    class b(obj): 
    pass 
+0

あなたはありがとうございます! – brike

+0

あなたができるようになったからといって、これは良いアイデアだとは思わないでください。 – geoffspear

+0

これは正しい方法ですか? – brike

関連する問題