I'd appreciate an explanation of why this doesn't work and any workarounds.
It's not a showstopper, but I'd like to pseudo-inherit a bunch of magic methods from an attribute, and would prefer to abstract the definitions into a loop rather than write them all out. thanks mt ########### import new class myint(object): def __init__(self,val): self.val = int(val) def mystr(self): return self.val.__str__() self.__str__ = new.instancemethod(mystr,self,mint) #doesn't work self.str = new.instancemethod(mystr,self,mint) """ # this works def __str__(self): return self.val.__str__() """ if __name__ == "__main__": a = myint(3) b = a a.val = 42 print b # want "42" print b.str() # works -- http://mail.python.org/mailman/listinfo/python-list