assign operator to variable in python? assign operator to variable in python? python python

assign operator to variable in python?


You can use the operator module and a dictionary:

import operatorops = {    "+": operator.add,    "-": operator.sub,    "*": operator.mul,    "/": operator.div}   op_char = input('enter a operand')op_func = ops[op_char]result = op_func(a, b)


The operator module http://docs.python.org/library/operator.html exposes functions corresponding to practically all Python operators. You can map operator symbols to those functions to retrieve the proper function, then assign it to your op variable and compute op(a, b).


I know this is a really old thread, but I believe at the time people didn't know about the eval function (Maybe it came with Python 3). So here's an updated answer to the question

a = input('enter a value')b = input('enter a value') op = input('enter an operand')expression = a + op + b # simple string concatenationresult = eval(expression)

If the input is not expected to be valid all the time ast.literal_eval can be used instead. It raises an exception if the input isn't a valid Python datatype, so the code won't be executed if it's not.Eg. if a, b and op are respectively 5, 10, + thenresult is 15