Mangabasi a écrit : (snip) > > When you say "The Body gets asked for the value of the attribute" that > means that Body's __dict__ is being asked to provide a value > corresponding to its 'pos' key, right?
Wrong. That means that attribute lookup rules are invoked, which may *or not* end up calling the Body *intance*'s __dict__ __setitem__ method to be called. Anyway: > Now I may want to ask a more > specific question here. How do I modify Body's __dict__ so that I can > perform a task when __getitem__ method of the __dict__ is called? This still won't solve your problem. What you want to trace are method calls on the objects returned by attribute lookup on instances of Body - not calls to instances __dict__ methods. In your example, what you want to trace are calls to pos.__getitem__, not calls to b.__dict__.__getitem__. And if you what you really want is to trace any mutator call to any arbitrary object that may become an attribute of b, then I'm afraid you're in for a hard time... -- http://mail.python.org/mailman/listinfo/python-list