title: Scope of imported modules/functions in Python
body: <p>I'm new here and am not 100% sure how to ask this question so I'll just dive right in.  Should I be using import statements at the beginning of every function I write that import all of the various modules/functions I need for that function's scope? i.e.</p>
  
  <pre><code>def func1()
      import os.path
      print func(2)
      do something with os.path
  
  def func2()
      import os.path
      do something with os.path
  </code></pre>
  
  <p>Will this increase memory overheads, or other overheads, or is the import statement just mapping a local name to an already loaded object?  Is there are better way to do this?  (Links to tutorials etc. most welcome.  I've been looking for a while but can't find a good answer to this.)</p>