我在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'])