__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
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.