Найти - Пользователи
Полная версия: Получить класс по имени
Начало » Python для новичков » Получить класс по имени
1
LightOfMooN
допустим, есть несколько классов:
ClassA()
ClassB()
ClassC()

Есть метод, возвращающий имя класса в качестве строки.

Необходимо инициализировать экземпляр класса, зная его имя.
Как это сделать?

Вариант типа
if c=='ClassA':
return ClassA()
if c=='ClassB':
return ClassB()
if c=='ClassC':
return ClassC()
Не подходит, ибо заранее набор классов неизвестен.
(Но предполагается, что система о них знает, т.е. import нужных классов сделан)

P.S. Проще говоря:
Как написать функцию, которая принимает название класса и возвращает соответствующий ему объект?
LightOfMooN
Извиняюсь за нубство. Ответ нашёл :)

def makeObject(classname):
instance = globals().get(classname)
obj = instance()
return obj
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB