Форум сайта python.su
допустим, есть несколько классов:
ClassA()
ClassB()
ClassC()
Есть метод, возвращающий имя класса в качестве строки.
Необходимо инициализировать экземпляр класса, зная его имя.
Как это сделать?
Вариант типа
if c=='ClassA':
return ClassA()
if c=='ClassB':
return ClassB()
if c=='ClassC':
return ClassC()
Отредактировано (Окт. 26, 2010 22:44:31)
Офлайн
Извиняюсь за нубство. Ответ нашёл :)
def makeObject(classname):
instance = globals().get(classname)
obj = instance()
return obj
Офлайн