我有這個問題,非常討厭,不知道爲什麼會發生。 我有這個類:Python字典和列表裏面的類更新和追加
class Person:
my_dict = {}
my_list = []
... other attributes
...
def add_dic(self, key, val):
self.my_dict.update({key: val})
def add_to_list(self, i):
self.my_list.append(i)
當我創建這個:
person1 = Person('name1')
person2 = Person('name2')
person1.add_dic(1,2)
person2.add_dic(3,4)
print person1.my_dict
#{1:2, 3:4} when to me it should be {1:2}
爲什麼PERSON1得到與PERSON2的更新更新? person1中的更新會對person2產生影響,同樣的問題也會發生。追加列表時出現同樣的問題。
如何解決此問題以單獨獲取更新?也許有一個我不清楚的Python概念。
什麼解決方案可以追加或更新,但在課堂內?不創建時間變量,然後更新該變量並寫入字典或列表。
現在我看到我的錯誤...對我來說問題是我認爲它是李在Java中,你把所有的屬性都放在了外面。但實際上在Python中,屬性應該在構造函數中。涼。謝謝 – perseus 2014-09-25 01:32:46