Defining Main Functions in Python

Many programming languages have a special function that is automatically executed when an operating system starts to run a program. This function is usually called main() and must have a specific return type and arguments according to the language standard. On the other hand, the Python interpreter executes scripts starting at the top of the file, and there is no specific function that Python automatically executes.

Nevertheless, having a defined starting point for the execution of a program is useful for understanding how a program works. Python programmers have come up with several conventions to define this starting point.

By the end of this course, you’ll understand:

  • What the special __name__ variable is and how Python defines it
  • Why you would want to use a main() in Python
  • What conventions there are for defining main() in Python
  • What the best practices are for what code to put into your main()

About Rich Bibby

Rich Bibby Rich Bibby

Rich is an avid Pythonista and a video instructor at Real Python. He is also a Network Engineer using Python to automate the management of a large network infrastructure. He lives in Dubai, UAE, with his wife and daughter plus a Miniature Schnauzer.

» More about Rich

Each tutorial at Real Python is created by a team of developers so that it meets our high quality standards. The team members who worked on this tutorial are:

« Browse All Courses