title: Python recursive Factorial Function
body: <p>Found this solution to make a <strong><code>factorial()</code></strong> function in python, but I am having trouble with understanding '<strong>why</strong>' it works.</p>
  
  <p>The function is :</p>
  
  <pre><code>def factorial(x):
    if x &lt;= 1:
      return 1
     else:
      return x * factorial(x-1)
  </code></pre>
  
  <p>I'm having trouble understanding <strong>where the actual multiplication happens?</strong> </p>
  
  <p>It would seem to me, that the function would keep calling itself until it gets to 1, and returns 1. Can someone enlighten me? I'm sure I'm missing something easy.</p>