我有一个字符串列表如下:
list = ['ContactHandler', 'LogHandler', 'FileHandler', 'SystemHandler', 'WelcomeHandler']
我想使用此列表在for循环中创建5个类。下面显示了一个类的示例。
class WelcomeHandler(BaseHandler):
def get(self):
response = HTTPResponse()
response.write('WelcomeHandler')
return response
答案 0 :(得分:1)
创建一个将名称映射到类的字典:
classLookup = {
'ContactHandler': ContactHandler,
'LogHandler' : LogHandler,
#...
}
然后,您可以基于字符串
实例化正确的类className = input('what class to instantiate?')
handler = classLookup[className]()
答案 1 :(得分:1)
你应该为你的类使用一个字典,并像这样定义它们:
classes = {}
for name in classlist:
class Handler(BaseHandler):
def get(self):
response = HTTPResponse()
response.write(self.__class__.__name__)
return response
Handler.__name__ = name
classes[name] = Handler