作者sbrhsieh (偶爾想擺爛一下)
看板Python
標題Re: [問題] 一個很基本的問題
時間Sat Apr 10 11:03:56 2010
※ 引述《anrris ( ...)》之銘言:
: class C:
: "A test Class"
: def __init__(self,val):
: self.val = val
: e, f = C(1), C(2)
: e=f
: e.val = 3
: print e.val, f.val
: 會輸出 : 3 3
: 這樣感覺是 f 並非將其內的元素 copy 一份到 e 裡面 ....
這裡顯示你的觀念有部分需要再釐清。
上面的碼執行後 e, f 都是 binding 同一個 C instance,print e.val, f.eval
永遠會輸出相同訊息。(不論 class C 是如何設計)
e = f 不是 object copy 的語意。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.135.32
推 anrris:感謝, 那請問 object copy 要如何才能表示 ? 04/10 11:53
推 anrris:感謝, 原來 e = deepcopy(f) 就是我要的答案 .. ^^ 04/10 12:04