Using an operator as an object

Klaus Alexander Seistrup spam+py at magnetic-ink.dk
Mon Mar 3 01:22:22 EST 2003


Tony C wrote:

> What I'd like to do is this
> 
> 
> def  docalc( operator, num1, num2):
> 
> 	return (num1 operator num2 )

Perhaps you could use:

#v+

def docalc(operator, num1, num2):
    return eval( repr(num1) + operator + repr(num2) )
end def docalc

#v-

or its lambda equivalent:

#v+

docalc = lambda op, n1, n2: eval( repr(n1) + op + repr(n2) )

#v-

Please beware of security issues re eval.


  // Klaus

-- 
 ><> 	vandag, môre, altyd saam




More information about the Python-list mailing list