If you are new to Python then you may have noticed if __name__ == "__main__" line in some python codes.
You may be wondering:
Let me try to explain the above to you.
In Python all modules have some built-in attributes. __name__ is one of them. Now the question is what does __name__ contain?
Well, that depends actually. It depends on how you use the module.
If you run the module directly in a standalone program then in that case the value of __name__ attribute is set to __main__.
For example, create a file main.py and enter below code.
if __name__ == "__main__":
print "Directly called from python interpreter"
print "Value of __name__ attribute is "+__name__
else:
print "Not directly called"
print "Value of __name__ attribute is "+__name__Now run the above code as below:
$ python main.pyOutput:
Directly called from Python interpreter
Value of __name__ attribute is __main__Notice that when we ran the program directly from python interpreter the conditional __name__ == __main__ returned True and the print statement inside the if block got executed.
If you use the module in another program (using the import function), then in that case the value of __name__ attribute is set to the filename of the module.
Let’s try to import the above created main.py.
$ python
>>> import main.pyOutput:
Not directly called
Value of __name__ attribute is mainHelp us improve this content by editing this page on GitHub