title: Python: function and variable with the same name
body: <p>Why can't I call the function again? Or, how can I make it?</p>
  <p>Suppose I have this function:</p>
  <pre><code>def a(x, y, z):
   if x:
       return y
   else:
       return z
  </code></pre>
  <p>and I call it with:</p>
  <pre><code>print a(3&gt;2, 4, 5)
  </code></pre>
  <p>I get 4.</p>
  <p>But imagine that I declare a variable with the same name that the function (by mistake):</p>
  <pre><code>a=2
  </code></pre>
  <p>Now, if I try to do:</p>
  <pre><code>a=a(3&gt;4, 4, 5)
  </code></pre>
  <p>or:</p>
  <pre><code>a(3&gt;4, 4, 5)
  </code></pre>
  <p>I will get this error: &quot;TypeError: 'int' object is not callable&quot;</p>
  <p>Is it not possible to assign the variable 'a' to the function?</p>