作者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
1F:推 anrris:感谢, 那请问 object copy 要如何才能表示 ? 04/10 11:53
3F:推 anrris:感谢, 原来 e = deepcopy(f) 就是我要的答案 .. ^^ 04/10 12:04