main() function is like the entry point of a program. However, the Python interpreter runs the code right from the first line. The execution of the code starts from the starting line and goes line by line. It does not matter where the main function is present or it is present or not.
Since there is no main() function in Python, when the command to run a Python program is given to the interpreter, the code that is at level 0 indentation is to be executed. However, before doing that, it will define a few special variables. __name__ is one such special variable. If the source file is executed as the main program, the interpreter sets the __name__ variable to have a value __main__. If this file is being imported from another module, __name__ will be set to the module’s name. __name__ is a built-in variable that evaluates the name of the current module.
Here is the basic example of how we can use the main() function:
1 2 3 4 5 6 7 8 9 10 |
print("Hello") # Defining main function def main(): print("Hello World!") # Using the special variable # __name__ if __name__=="__main__": main() |
The output in PyScripter IDE:
When the above program is executed, the interpreter declares the initial value of name as “main”. When the interpreter reaches the if statement it checks for the value of name and when the value of if is true it runs the main function else the main function is not executed.
The following code is the working example of using main() function in the context of creating GUI using DelphiVCL library:
1 2 3 4 5 6 7 8 9 10 |
def main(): Application.Initialize() Application.Title = "MyDelphiApp" f = MainForm(Application) f.Show() FreeConsole() Application.Run() Application.Destroy() main() |
And here is the GUI result:
Check out DelphiVCL which easily allows you to build GUIs for Windows using Python.