title: Formal and actual parameters in a function in python
body: <p>I'm kind of confused on how to identify the formal and actual parameters in a recursive function. For example in this block of code for getting the factorial of a number:</p>
  
  <pre><code>def factorial(n):
      if n == 1:
         return 1
      else:
         return n * factorial(n-1)
  </code></pre>
  
  <p>Is "factorial(n-1)" the formal parameter since it is inside the function itself? Or is it the actual parameter because it assigned a value for the function. Also, is the "factorial(n)" the formal parameter as well? </p>