从字符串列表实例化python中的类



我在stackoverflow上找到了似乎能解决我问题的答案,但我找不到我能解决的问题。我有一个很大的字符串列表,像这样:

db = ['a','b','c']

我想为每个字符串实例化一个类,其中唯一的字符串将是变量名:

a = MyClass()
b = MyClass()
c = MyClass()

我想把字符串转换成变量,但从我在SO.上找到的一些答案来看,这似乎不可取

最好的办法是什么?

我不建议这样做

您可以将名称添加到全局

names = ['a', 'b', 'c']
globals().update({name: MyClass() for name in names})
print(a)

或本地字典:

def myfunc():
    names = ['a', 'b', 'c']
    locals().update({name: MyClass() for name in names})
    print(a)

使用dict

最好只是使用dict来存储MyClass-实例:

names = ['a', 'b', 'c']
data = {k: MyClass() for k in names}
print(data['a'])

最新更新