🖥
Динамическое создание экземпляра класса из строки в Python⏩Итак, для динамического создания экземпляра класса в Python можно использовать модуль importlib:
from importlib import import_module
module_name = 'your_module' # Определите название своего модуля
class_name = 'YourClass' # И название нужного вам класса
instance = getattr(import_module(module_name), class_name)()
Здесь функция import_module импортирует нужный модуль, getattr находит в нем класс, а () создает экземпляр этого класса.
⏩Полезно оформить процесс создания экземпляра класса в виде переиспользуемой функции. Это сэкономит ваше время и усилия:
def get_instance(module_name, class_name):
try:
module = import_module(module_name)
class_obj = getattr(module, class_name)
instance = class_obj()
return instance
except ImportError:
print("Модуль отсутствует")
return None
except AttributeError:
print("Класс не найден")
return None
Логирование исключений помогает определить причины проблем с импортом или созданием экземпляров классов.
📎
Читать подробнее@pythonl