Python Language The __name__ special variable


The __name__ special variable is used to check whether a file has been imported as a module or not, and to identify a function, class, module object by their __name__ attribute.


The Python special variable __name__ is set to the name of the containing module. At the top level (such as in the interactive interpreter, or in the main file) it is set to '__main__'. This can be used to run a block of statements if a module is being run directly rather than being imported.

The related special attribute obj.__name__ is found on classes, imported modules and functions (including methods), and gives the name of the object when defined.