簡體   English   中英

從字符串列表中實例化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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM