2012-02-14 2 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

관련 문제