對不起,如果標題不是很清楚。我不確定適當的標題。讓我解釋我需要什麼。我應該複製一個類的實例來實現這個嗎?如果是的話,我該怎麼做?
我正在做一個模擬的多個運行,其中每個運行對應一個不同的種子。但是,我希望類的實例的起始特性在不同的運行中保持不變。例如,考慮一個城市中的人員類別。在下面的代碼中,命令city = people()
創建人員對象,每個對象都有一些財富是從分配中隨機選擇的。讓F(。)成爲人口中財富的實現初始分配。隨着模擬的一次特定運行,事物在人口中發生變化,並且人物對象的各種屬性得到更新。例如,一個人的收入變化。這些屬性的最終值取決於模擬運行期間發生的一些隨機實現。現在我想用一個不同的隨機種子來再次運行模擬,在運行開始之前,所有屬性都重置爲它們的初始值(包括隨機確定的財富分佈)。我應該做一個淺拷貝還是一個deepCopy?還有第三種方式更好嗎?
謝謝了。
city = people()
for seedValue in ListOfSeeds:
cityThisInstance = city.copy()
cityThisInstance.someAttribute = xxxxx
cityThisInstance.anotherAttribute = yyyyy
Rest of the code
謝謝尼克。由於初始狀態具有一些使用random.uniform函數確定的變量,因此我無法重新初始化該類。如果我使用您建議的第一種方法重新初始化,這些值將會改變。但第二個應該工作。我會嘗試。謝謝。 – Curious2learn 2010-08-25 01:03:33