More about namespace
loading a module:
- a module object is created and inserted in sys.modules
- module object is a namespace that has definitions from the module
- adds module object to the global namespace
- dir()
or dir(module_name)
- the code of the module is executed
- if module imported >1, only executed one
- a module object contains the definitions from the module