On Sep 14, 7:52 am, iu2 <isra...@elbit.co.il> wrote: > Hi, > > I reached the chapter "Emulating numeric types" in the python > documentation and I tried this: > > >>> class A: > > def __mul__(self, a): > return 'A' * a > > Now, this works as expected:>>> a = A() > >>> a * 3 > > 'AAA' > > But this doesn't (also as expected): > > >>> 3 * a > > Traceback (most recent call last): > File "<pyshell#45>", line 1, in <module> > 3 * a > TypeError: unsupported operand type(s) for *: 'int' and 'instance' > > > > What do I need to do in order to make the two classes, int and A, > commutative? > (In the same way that string and int are commutative over "*") > Thanks
By commutative I mean give the same result, that is 3 * a will also return 'AAA' -- http://mail.python.org/mailman/listinfo/python-list