Automatically generating arithmetic operations for a subclass

andrew cooke andrew at acooke.org
Tue Apr 14 07:51:04 EDT 2009


Arnaud Delobelle wrote:
> I do this:
>
> binops = ['add', 'sub', 'mul', 'div', 'radd', 'rsub'] # etc
> unops = ['neg', 'abs', invert'] # etc
>
> binop_meth = """
> def __%s__(self, other):
>     return type(self)(int.__%s__(self, other))
> """
>
> unop_meth = """
> def __%s__(self):
>     return type(self)(int.__%s__(self))
> """
>
> class MyInt(int):
>       for op in binops:
>           exec binop_meth % (op, op)
>       for op in unops:
>           exec unop_meth % (op, op)
>       del op

what's the "del" for?

curious,
andrew





More information about the Python-list mailing list