Python Main Function with Examples: Understand __main__
Python Main Function with Examples: Understand __main__
Posted By Manisha Gupta
Before we jump more into Python coding, we get familiarize with Python Main function and its importance.
Consider the following code
def main(): print "hello world!" print "Guru99"
Here we got two pieces of print one is defined within a main function that is "Hello World" and the other is independent which is "Guru99". When you run the function def main ():
- Only "Guru99" prints out
- and not the code "Hello World."
It is because we did not declare the call function "if__name__== "__main__".
- When Python interpreter reads a source file, it will execute all the code found in it.
- When Python runs the "source file" as the main program, it sets the special variable (__name__) to have a value ("__main__").
- When you execute the main function, it will then read the "if" statement and checks whether __name__ does equal to __main__.
- In Python "if__name__== "__main__" allows you to run the Python files either as reusable modules or standalone programs.
Like C, Python uses == for comparison while = for assignment. Python interpreter uses the main function in two ways
- import: __name__= module's filenameif statement==false, and the script in __main__ will not be executed
- direct run:__name__=__main__if statement == True, and the script in _main_will be executed
- So when the code is executed, it will check for module name with "if."
It is important that after defining the main function, you call the code by if__name__== "__main__" and then run the code, only then you will get the output "hello world!" in the programming console as shown below.
Note: Make sure that after defining a main function, you leave some indent and not declare the code right below the def main(): function otherwise it will give indent error.
def main(): print("Hello World!") if __name__== "__main__": main() print("Guru99")
Above examples are Python 3 codes, if you want to use Python 2, please consider following code
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In Python 3, you do not need to use if__name. Following code also works
def main(): print("Hello World!") main() print("Guru99")