# Python : creating an instance of a class from list of 'em. # class Foo: def bar(self): print "Foo.bar" class Baz: def bar(self): print "Baz.bar" # First approach: just put the classes themselves in the list. classes = [Foo, Baz, Baz] for class in classes: instance = class() # Second approach: use the "eval" function on a string like "Foo()" class_names = ['Foo', 'Baz', 'Baz'] for class_name in class_names: instance = eval(class_name + "()") # Third approach: use the locals() or globals() functions # to get a dictionary mapping of names -> things. # dict = locals() # class = dict[class_name] # instance = class() class_names = ['Foo', 'Baz', 'Baz'] for class_name in class_names: instance = locals()[class_name]()