Yup ?!? Weird ... especially as: >>> id(c.f) == id(C.__dict__['f'].__get__(c,C)) True I was pretty sure that 'id(a) == id(b)' iff 'a is b' ... I thought initially that you had two *copies* of the same method bot obviously it's not true ... SB