title: What exactly is a caller in python?
body: <p>apologies if this question is too basic/obvious, but I can't find a reasonable answer after searching both here and through the data model docs.</p>
  
  <p>My question is simply, what exactly is a caller in python 3? Is there a strict definition?</p>
  
  <p>I know for example a function that calls another function is known as a caller. So:</p>
  
  <pre><code>def f1():
      pass
  def f2():
      f1()
  </code></pre>
  
  <p>f2 is the caller of f1. But what about assignment statements?</p>
  
  <pre><code>x = f2()
  </code></pre>
  
  <p>Is x a caller of f2? Is it also a caller of f1? It's obviously been stated that the return statement at the end of a function definition returns a value to the caller, so I would assume in this case x is both a caller of f2 and f1, however I just want to check that there is no deeper/technical meaning to what a caller is?</p>
  
  <p>I found this question <a href="https://stackoverflow.com/questions/33138918/i-dont-understand-return-in-python-and-what-is-a-caller">I don&#39;t understand &quot;return&quot; in Python and what is a caller?</a>, but I couldn't get much understanding.</p>