Python的類同時創建多個對象的想法

直接說方法

以字典的鍵(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]))

這一句連括號都沒對齊怎么可能會運行通的過,因此我通過查閱資料與辛苦嘗試發現了真正的用法以及一些小問題,所以這將會再下一篇文章進行講解。

這一篇就到這里,謝謝瀏覽,希望您能夠點個喜歡哦

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,373評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,948評論 18 139
  • ** 安卓開發中或多或少會接觸到藍牙部分,像一些智能家居,藍牙手環,還有一些串口數據傳輸的設備都和藍牙相關,面...
    楓雪狼情閱讀 3,956評論 0 51
  • 哦!七夕那一天 復仇的蟑螂回來了嗎,嗯 泡了一天的衣服呢,還在泡 掉在地上的玻璃杯呢,碎了 德勇和大叔呢,說再見了...
    哆嘞閱讀 185評論 1 1
  • 10.14演唱會已經過去一個多月了,回來后常常后悔,為什么沒有早生幾年,早點認識他們。可是,阿信說:未來還很長,加...
    浮光掠影_321a閱讀 803評論 0 0