从字符串名称Python创建类对象

时间:2014-04-09 14:24:27

标签: python class eval

我有一个python模块,可以在同一个模块中调用多个其他类。

class Main(object):
   def foo(self):
      return 'bar'
   def getClass(self, className, *args):
      return eval(className + "(%s)" % ",".join(args))
class A(object):
   def __init__(self, b):
      self._b = b
class B(object):
   def __init__(self, c):
      self._c = c

我想做的是这个。在Main类中,我想通过只知道类名来生成一个类Object,并传入创建该类所需的变量。

我现在可以做条件if / else,但我想知道是否可能。我想我也可以使用eval(),但我听说这可能是邪恶的。

连连呢?评论?我有一个引用多个子库的类,而不是为每个类型创建一个类,我认为这样做会更容易。

谢谢

0 个答案:

没有答案