Python Mathematical signs in function parameter?
<p>I would like to know if there is a way to add math symbols into the function parameters. </p>

<pre><code>def math(x, y, symbol):
      answer = x 'symbol' y
      return answer
</code></pre>

<p>this is an small example what I mean. </p>

<p><strong>EDIT:
here is the whole problem</strong> </p>

<pre><code>def code_message(str_val, str_val2, symbol1, symbol2):
    for char in str_val:

        while char.isalpha() == True:
            code = int(ord(char))
            if code &lt; ord('Z'):
                code symbol1= key
                str_val2 += str(chr(code))
            elif code &gt; ord('z'):
                code symbol1= key
                str_val2 += str(chr(code))
            elif code &gt; ord('A'):
                code symbol2= key
                str_val2 += str(chr(code))
            elif code &lt; ord('a'):
                code symbol2= key
                str_val2 += str(chr(code))
            break
        if char.isalpha() == False:
            str_val2 += char
    return str_val2
</code></pre>

<p>I need to call the function a number of times but sometimes with a +/- for first symbol and sometimes a +/- for second symbol</p>

<p>ORIGINAL CODE :</p>

<pre><code>def code_message(str_val, str_val2):
    for char in str_val:

        while char.isalpha() == True:
            code = int(ord(char))
            if code &lt; ord('Z'):
                code -= key
                str_val2 += str(chr(code))
            elif code &gt; ord('z'):
                code -= key
                str_val2 += str(chr(code))
            elif code &gt; ord('A'):
                code += key
                str_val2 += str(chr(code))
            elif code &lt; ord('a'):
                code += key
                str_val2 += str(chr(code))
            break
        if char.isalpha() == False:
            str_val2 += char
    return str_val2
</code></pre>

<p>You can not pass operator to the function, but however you may pass operator's functions defined in <a href="https://docs.python.org/2/library/operator.html" rel="nofollow"><code>operator</code></a> library. Hence, your function will be like:</p>

<pre><code>&gt;&gt;&gt; from operator import eq, add, sub
&gt;&gt;&gt; def magic(left, op, right):
...     return op(left, right)
...
</code></pre>

<p><strong>Examples</strong>:</p>

<pre><code># To Add
&gt;&gt;&gt; magic(3, add, 5)
8
# To Subtract
&gt;&gt;&gt; magic(3, sub, 5)
-2
# To check equality
&gt;&gt;&gt; magic(3, eq, 3)
True
</code></pre>

<p><strong>Note</strong>: I am using function as <code>magic</code> instead of <code>math</code> because <code>math</code> is default python library and it is not good practice to use predefined keywords.</p>

python function math symbols sign