Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

어떻게 다른 파이썬 클래스를 동적으로 인스턴스화할 수 있습니까?


파이썬 클래스를 인스턴스화하려면 먼저 클래스 이름을 가져와야 합니다. 이것은 다음 코드에 의해 달성됩니다.

def get_class( kls ):
    parts = kls.split('.')
    module = ".".join(parts[:-1])
    m = __import__( module )
    for comp in parts[1:]:
        m = getattr(m, comp)                
    return m

m은 클래스입니다.

이 클래스를 다음과 같이 인스턴스화할 수 있습니다.

a = m()
b = m(arg1, arg2) # passing args to the constructor