I'm still learning python and after playing around with pygame I noticed I'm re-importing things in modules I'm importing that I've already imported.
For instance I have some classes in a separate file, but I must also import pygame into that file too for them to work. Does it actually import the code twice? Will it slow down my program? Or does it just pull the same import from cache, but if it does that, why would I need to import it again?
Is there anything like (load) in lisp that just pulls in the code like it is part of the main file?
Subsequent imports pull the cached module reference from
sys.modules. You need to import in order to add the module to the current namespace/scope.
When Python imports a module, it first checks the module registry (
sys.modules) to see if the module is already imported. If that’s the case, Python uses the existing module object as is.
<strong>Got it!</strong><br /> Okay I found what I was looking for. I just found it clunky to have to re-import code I already imported, especially when the file isn't a library or something, just split up code. found it here: <a href="http://norvig.com/python-lisp.html" rel="nofollow">http://norvig.com/python-lisp.html</a>
Answers my problem perfectly. It parses a file and executes the code in it. Using it I was able to take out the extra import statements and it runs perfectly :D