from _weakref import proxy, ref from testutils import assert_raises class X: pass a = X() b = ref(a) assert callable(b) assert b() is a class G: def __init__(self, h): self.h = h g = G(5) p = proxy(g) assert p.h == 5 del g assert_raises(ReferenceError, lambda: p.h)