On Fri, Oct 28, 2011 at 1:34 PM, dhyams <dhy...@gmail.com> wrote: > If I call __getattr__ directly, as in bessie.__getattr__('foo'), it > works as it should obviously; so the method is bound and ready to be > called. But Python does not seem to want to call __getattr__ > appropriately if I mix it in after the object is already created. Is > there a workaround, or am I doing something wrongly?
Python looks up special methods on the class, not the instance (see http://docs.python.org/reference/datamodel.html#special-method-lookup-for-new-style-classes). It seems like you ought to be able to delegate the special attribute access from the class to the instance somehow, but I couldn't figure out how to do it in a few minutes of fiddling at the interpreter. -- Jerry -- http://mail.python.org/mailman/listinfo/python-list