[英]How to instantiate many different classes from lists of names and classes in Python
[英]Instantiate classes in python from list of strings
我已經找到關於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來存儲MyClass
-instances:
names = ['a', 'b', 'c']
data = {k: MyClass() for k in names}
print(data['a'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.