Send
Close Add comments:
(status displays here)
Got it! This site "robinsnyder.com" uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website. Note: This appears on each machine/browser from which this site is accessed.
Python: __main__
1. Python: __main__
A Python program and/or module is easy to create and has a simple form. Just add the code.
I typically use the program and module form of the following, for, say, a main file and a module file.
rmsMain.py for the module file.
main1.py for the main file which uses and/or tests rmsMain.py
Actually, I use a formatter system so
main2.py gets formatted to
rmsMain.py (and possibly other files), which is how I got started with this model.
2. Another model
Another model is to use the __main__ built-in variable. Many programmers like this model as it allows the concept of a module to be combined with test and/or other code - but only if the Python program/script is the top-level script. This is detected via the __main__ built-in variable.
3. Main script
Note that a Python program/script called __main__.py as part of a package would be executed if the module is run with the -m parameter.
4. Script without __main__
Here is the Python script without __main__.
Here is the Python code [#1]
Here is the output of the Python code.
5. Script with __main__
Here is the Python script with __main__.
Here is the Python code [#2]
Here is the output of the Python code.
6. Comparison
The Python script without __main__ is cleaner, especially for beginning students.
The Python script with __main__ facilitates unit testing and reduces the number of file as projects grow larger.
The Python script with __main__ also helps make Python scripts model more closely (if that is important) languages such as C, C++, Java, C#, etc. where there needs to be a main function.
7. End of page