0
我希望用戶通過輸入參數指定他們想要實例化的類。我知道如何從請求中獲取參數,但是如何在不使用很多if語句的情況下實例化指定的類?基於請求參數實例化類
request['classToUse'] = Class1
newClass = request['classToUse']()
我希望用戶通過輸入參數指定他們想要實例化的類。我知道如何從請求中獲取參數,但是如何在不使用很多if語句的情況下實例化指定的類?基於請求參數實例化類
request['classToUse'] = Class1
newClass = request['classToUse']()
允許用戶指定表示字符串可用類之一。通過提供的字符串查找班級。
# map class names to classes
avail = dict((cls.__name__, cls) for cls in (Spam, Eggs, Toast))
@app.route('/hello')
def hello():
name = request.args['name']
obj = avail[name]()
return 'you created a {}'.format(name)
導航到/hello?name=Toast
將創建Toast
類的一個實例。
如果request
包含Class1
在classToUse
,那麼你的代碼應該工作。一個基本的例子來說明:
class A(object):
def __init__(self):
self.a = 5
d = {'a': A}
my_obj = d['a']()
print my_obj.a
回報
在這裏你可以看到,它被實例化與()