问题 class Wrapper(object): def __init__(self, o): # get wrapped object and do something with it self.o = o def fun(self, *args, **kwargs): self = self.o # here want to swap # or some low level C api like # some_assign(self, self.o) # so that it swaps id() mem addr to self.o return self.fun(*args, **kwargs) # and now it's class A class A(object): def fun(self): return 'A.fun' a = A() w = Wrapper(a) print type(w) # wrapper print w.fun() # some operation after which I want to loose Wrapper print a