Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách instantiate các Python class khác nhau động (dynamically)?

Để instantiate Python class động, cần lấy class name trước. Code sau đạt được điều này:

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 là class. Instantiate class này:

a = m()
b = m(arg1, arg2)  # truyền args cho constructor