#!/usr/local/bin/python2 from copy import deepcopy class C(object): def __init__(self): self.a = [] def p(self): print id(self.a) def s(self, v): self.a = v v.r = self c = C() c.s(C()) c.a.s(C()) p = deepcopy(c.a.a.p) c.p() p.__self__.r.r.p() c.a = 1 c.p() p.__self__.r.r.p()