直接說方法
以字典的鍵(key)為對象名稱,值(value)為對象。如對于類Test,如果想要創建多個對象,則可以
class Test:
def __init__(self, val):
self.value = val
d = {}
for i in range(3):
d['obj'+str(i)] = Test(i)
因此我們就這樣創建了3個對象,每一個鍵就代表一個對象。也就是說,我們相當于創建了一個下面這樣的字典
d = {'obj0':Test(0), 'obj1':Test(1), 'obj2':Test(2)}
所以我們可以輸出一下試試
for i in range(3):
print(d['obj'+str(i)].value)
#輸出結果
0
1
2
下面扯閑的
上一篇文章說過,是我在寫遺傳算法的時候,我就想模仿C++一樣創建一個對象數組,從而來直接創建一個種群的對象,用個體來表示對象,每個個體都有染色體與適應度這兩個屬性。
于是我就上網查如何創建多個對象,可能是我找的姿勢不對,什么都沒找到。所以很尷尬。但是突然想到了字典這種映射的方式,于是姑且一試,竟然發現了新大陸。
因此寫在這里給大家分享一下。
實際上我還查到了關于創建多個字典鍵值的方法fromkeys()方法,但是我發現網上的教程基本上全部的示例都是錯誤的,即寫成了
dict.fromkeys(seq[, value]))
這一句連括號都沒對齊怎么可能會運行通的過,因此我通過查閱資料與辛苦嘗試發現了真正的用法以及一些小問題,所以這將會再下一篇文章進行講解。
這一篇就到這里,謝謝瀏覽,希望您能夠點個喜歡哦。