import weakref class cls1: def giveTo( self, to ): to.take( self.bla ) def bla(self ): pass class cls2: def take( self, what ): self.ref = weakref.ref(what) c1 = cls1() c2 = cls2() c1.giveTo( c2 ) print c1.bla print c2.ref