You can launch python interactly, from IDLE, file icon cliks,
module imports, exec calls, or from a system command line, just to name a few.
module import is a typical way to run files of code. Once imported, the importer gain access to all the names assigned at the top level of a module's file.
There are two different syntax
1. import myfile
2. from myfile import atrribute
once imported, you can use the built-in dir function to fetch a list of all the names available inside a module.
a tricky issue is that reload() is not transitive -- reloading a module reloads that module only, not any modules
it may import -- so you have to do it manually.
In summary, Python programs are composed of multiple module files linked together by import statements, and each module
file is a package of variable -- that is, a namespace. Each module is a self-contained namespace: one module file cannot see
the names defined in another file unless it explicitly imports that other file.