Hello, I have written the following small proxy class which I expect to pass all function calls to the 'original' object:
--- BEGIN --- class proxy(object): def __init__( self, subject ): self.__subject = subject def __getattr__( self, name ): return getattr( self.__subject, name ) prx_i=proxy(1) print hasattr(prx_i,'__add__') j=prx_i.__add__(1) k=prx_i+1 --- END --- Actually the "hasattr(prx_i,'__add__')" returns "True" as expected, and "j=prx_i.__add__(1)" sets j=2. But "k=prx_i+1" raises a <type 'exceptions.TypeError'>: unsupported operand type(s) for +: 'proxy' and 'int'. How is this addition different from the previous line "j=..."? And how can I modify the proxy class so that all methods are passed on, which are not explicitly overloaded? Regards, Magnus -- View this message in context: http://www.nabble.com/proxy-class-and-__add__-method-tp18715799p18715799.html Sent from the Python - python-list mailing list archive at Nabble.com. -- http://mail.python.org/mailman/listinfo/python-list