Python NameError for methods defined later in a module
<p>Why does python require you to define methods before you use them in the same module</p>

<p>e.g.</p>

<pre><code>def a():
  b()
def b():
  ...
</code></pre>

<p>Doesn't work because b() is defined after a(), which calls b() within its body</p>
