def do_binaryop(msg, n1, n2, op): res = op(n1, n2) print("%s %g" % (msg, res)) # Usage (i.e. client code) addlambda = lambda a, b: a + b sublambda = lambda a, b: a - b do_binaryop("Sum", 10, 7, addlambda) do_binaryop("Diff", 10, 7, sublambda) do_binaryop("Mult", 10, 7, lambda a, b: a * b) do_binaryop("Div", 10, 7, lambda a, b: a / b)