Hi, I have a container class A and I want to add functionality to it by using a decorator class B, as follows:
class A(object): def __len__(self): return 5 class B(object): def __init__(self, a): self._a = a def __getattr__(self, attr): return getattr(self._a, attr) def other_methods(self): blah blah blah I was expecting len(B) to return 5 but I get AttributeError: type object 'B' has no attribute '__len__' instead. I was expecting len() to call B.__len__() which would invoke B.__getattr__ to call A.__len__ but __getattr__ is not being called. I can work around this, but I am curious if anyone knows _why_ __getattr__ is not being called in this situation. Thanks Tim -- http://mail.python.org/mailman/listinfo/python-list