How referencing objects work – namespaces
Key 1: Interrelations between objects.
The scope is the visibility of a name within a code block. Namespace is mapping from names to objects. Namespaces are important in order to maintain localization and avoid name collision. Every module has a global namespace. Modules store mapping from variable name to objects in their __dict__
attribute, which is a normal Python dictionary along with information to reload it, package information, and so on.
Every module's global namespace has an implicit reference to the built-in module; hence, objects that are in the built-in module are always available. We can also import other modules in the main script. When we use the syntax import module name, a mapping with module name to module object is created in the global namespace of the current module. For import statements with syntax such as import modname as modrename
, mapping is created with a new name to module object.
We are always in the __main__
module's...