假设我有这样的课
class MyClass(AnotherClass):
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
def f(self):
#dostuff
我有字符串“我的班级”
str = "my class"
我可以做这个:
class_name_from_str = str.title().replace(" ", "") # now class_name_from_str is "MyClass"
我怎样才能使 class_name_from_str 可调用?我想要这样的东西:
callable_obj = some_process(class_name_from_str)
o = callable_obj(arg1, arg2)
o.f()
顺便说一句,我正在使用 Python 2.7
更新:正如Matti Virkkunen在评论中建议的那样,一个好的解决方案是创建一个字典来映射字符串和类
my_calls_dict = {'my class' : MyClass, 'my other class' : MyOtherClass}