Найти - Пользователи
Полная версия: Работа со списком классов в модуле. Разумно ли так?
Начало » Python для новичков » Работа со списком классов в модуле. Разумно ли так?
1
Evgeny
Имеется модуль, в котором определено несколько классов с одинаковым интерфейсом, но с разными реализациями. Используя dir(ModName), получаем список соотв. имен, в программе есть менюшка, где он отображается. Пользователь выбирает нужное. Далее, через eval создается экземпляр выбранного класса и поехали. Теперь для расширения функциональности можно просто добавить новый класс в модуль.
Вопрос: насколько это все разумно? Может, можно лучше сделать?
minotavr_x86
Мне лично не нравится пользоваться eval. Я работаю с такой конструкцией.
a = __import__(<имя файла откуда импортируешь>)
rezult = getattr(a,<имя класса>)(<параметры конструктора>)
Evgeny
Хм, да, так действительно лучше.
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