Re: [問題] 繼承List的問題

看板Python作者 (哦啦啦)時間12年前 (2013/03/05 13:29), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
class A: m_list = [2] m_number = 1 class B(A): def __init__ (self): self.m_number = A.m_number + 1 self.m_hi = 1 self.m_list = self.m_list[:] self.m_list.append(3) class C(A): def __init__ (self): print self.m_list if __name__ == '__main__': my_b = B() my_c = C() print my_b.m_number, id(my_b.m_number) print my_b.m_hi, id(my_b.m_hi) print my_c.m_number, id(my_c.m_number) => [2] 2 23844636 1 23844648 1 23844648 int同數字的會指向同一address,不同數字時就會不同address了 這是python 用來省記憶體的方式 list要複製一份的話,可用[:] 不確定是不是你要的答案~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.252.74.54

03/05 15:38, , 1F
你的做法給了我啟發,謝謝你的解答 :p
03/05 15:38, 1F
文章代碼(AID): #1HDOA-Cv (Python)
文章代碼(AID): #1HDOA-Cv (Python)