EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login
Home Software Development Software Development Tutorials File Handling Python Tutorial Python Main Method
Secondary Sidebar
Python Tutorial
  • File Handling Python Tutorial
    • Python File Methods
    • Python Copy File
    • Python Check if File Exists
    • Python Import CSV
    • File Handling in Python
    • Python Read CSV File
    • Python write CSV file
    • Python Delete File
    • Python File readline
    • Python if main
    • Python Main Method
    • List Method in Python
    • Python List Functions
    • Python List Comprehension
    • Python List Length
    • Python List count
    • Python Lists Methods
    • Python Add List
    • Python List extend
    • Python Doubly Linked List
    • Copy List in Python
    • Python list remove()
    • Python List Index
  • Basics Part I
    • What Is Python
    • Introduction to Python
    • Print Statement in Python
    • Careers in Python
    • Advantages of Python
    • Uses of Python
    • Python SQL Server
    • Python SQL Database
    • Python SQL Server Connection
    • Python SQL Injection
    • Python Features
    • Heap Data Structure Python
    • Python Fast And python psyco
    • Python ImportError
    • Python Recursion
    • Python Reduce
    • Local Variable in Python
    • Sparse Matrix in Python
    • Benefits and Limitations of Using Python
    • What can I do with?Python
    • Is Python a scripting language
    • clock() in Python
    • Is Python Object Oriented
    • Is Python Open Source
    • Python Socket Programming
    • Python Competitive Programming
    • Python HTTP Server
    • Useful Tips on Python Programming
    • Python You Should Be Using It
    • Python Web Development
    • Exclusive Things About Python Socket Programming (Basics)
    • Python Programming Beginners Tutorails
    • Practical Python Programming for Non-Engineers
    • Python Programming for the Absolute Beginner
    • Data Engineer with Python
    • Versions of? Python
  • Programming in Python
    • Comments in Python
    • sprintf Python
    • Finally in Python
    • Python Multiline Comment
    • Python Data Types
    • Python Variables
    • Python Variable Types
    • Python Global Variable
    • Python Variable Scope
    • Python Private Variables
    • Python Default Arguments
    • Python Defaultdict
    • Python Command-line Arguments
    • Python try except
    • Coroutines python
    • Indentation in Python
    • Object in Python
    • Weka Python
    • Counting Sort Python
    • Hash table in Python
    • Radix Sort in Python
    • Hierarchical Cluster Python
    • Dataset in Python
    • Flask in Python
    • Python Keywords
    • Python Literals
    • Pointers in Python
    • Iterators in Python
    • Python Declare Variable
    • Python Modules
    • Python Private Method
    • Python dateutil
    • Python float to int
    • Python not equal
    • Python libraries list
    • Random forest in python
    • Data Manipulation with Python
    • Text to Speech in Python
    • Python Throw Exception
    • Python strftime
    • Python Widgets
    • Mean Shift Clustering Python
    • Sublime Text Shortcuts
    • Python User Input
    • Python Enumerate
    • Python Commands
    • Type Casting in Python
    • Python UUID
    • Abstraction in Python
    • Python Identifiers
    • Python Constants
    • What is NumPy in Python?
    • Cheat Sheet Python
  • Frameworks
    • Python Frameworks
    • Python Compilers
    • Python Editors
    • Best Compiler for Python
    • Python IDE for Windows
    • Python IDE on Linux
    • Python pseudocode
    • Iterator in Python
  • Installation
    • How To Install Python
    • How to Install Python on Linux
    • Install Python on Linux
    • Install Python on Windows
    • Install Anaconda Python
  • Operator
    • Python Operators
    • Operator Precedence in Python
    • Arithmetic Operators in Python
    • Python Comparison Operators
    • Logical Operators in Python
    • Assignment Operators in Python
    • Unary Operators in Python
    • Python Ternary Operator
    • String Operators in Python
    • Python Int to String
    • Python String to Float
    • Python? string manipulation
    • Boolean Operators in Python
    • Identity Operators in Python
    • Python Bitwise Operator
    • Python Remainder Operator
    • Python object type
    • Python object serialization
    • Flask unit testing
    • Unit Testing in Python
    • Knapsack Problem Python
    • exec Python
    • Python Modulus Operator
  • Control Statement
    • Conditional Statements in Python
    • Control Statements in Python
    • If Condition in Python
    • If Else in Python
    • If Statement in Python
    • If Else Statement in Python
    • else if Statement in Python
    • Nested IF Statement in Python
    • Break Statement in Python
    • Python Switch Statement
    • Python Break Statement
  • Loops
    • Loops in Python
    • For Loop in Python
    • While Loop in Python
    • Do While Loop in Python
    • Python Nested Loops
    • Python Infinite Loop
    • Python?Event Loop
  • Sorting
    • Sorting in Python
    • Sorting Algorithms in Python
    • Bubble Sort in Python
    • Merge Sort in Python
    • Heap Sort in Python
    • Quick Sort in Python
    • Python Sorted Function
    • Sort string in Python
    • Insertion sort in Python
    • Shell sort in Python
    • Bucket Sort Python
    • Python Input String
    • Python String Operations
    • Python String Join
    • Python String Contains
    • Byte to String Python
    • Python Stream
    • Python List to String
    • Python String Replace
    • Python Compare Strings
    • Lowercase in Python
    • Python Split String
    • Python Multiline String
    • Python Find String
    • Python Trim String
    • Python Test Empty String
    • Python Slice String
    • Python Regex
    • Python Regex Tester
    • Python regex replace
  • Function
    • Python Built-in Functions
    • Recursive Function in Python
    • Python Range Function
    • Python Substring
    • Math Functions in Python
    • Python @property decorator
    • Python String Functions
    • Python User Defined Functions
    • Trigonometric Functions in Python
    • Python Input Function
    • Python Set Function
    • Python len Function
    • Python eval()
    • Python rstrip()
    • Pandas DataFrame.apply()
    • Python Counter
    • ord Function in Python
    • strip Function in Python
    • Split Function in Python
    • Python Round Function
    • Python Map Function
    • Python format() Function
    • Python Contextlib
    • Python Return Value
    • Filter in Python
    • Python Absolute Value
    • Python Type Function
    • Python xrange
    • Python yield
    • Max Function in Python
    • Python Power Function
    • pop() in Python
    • Python argparse
    • Python Pickle
    • Python Zip Function
    • Python Z Test
    • super() in Python
    • Python Extend
    • Python @staticmethod
    • Python Timezone
    • Timestamp to Date in Python
    • Python Timeit
    • Timsort Python
    • Python Property()
    • Python deepcopy
    • Python Dump
    • Python wait()
    • Statistical Analysis in Python
    • Python PEP8
    • Python Filter Function
    • Python if then else
    • Lambda in Python
    • Python BeautifulSoup
    • BeautifulSoup XPath
    • Beautifulsoup lxml
    • BeautifulSoup Install
    • Python Sleep
    • Python Function Generator
    • Python @classmethod decorator
    • Python Endswith
    • Python BufferedReader
    • Python Async
    • Python Parser
    • Python SystemExit
    • Python pip
    • Python kwargs
  • Array
    • Arrays in Python
    • Python string to array
    • 2D Arrays In Python
    • 3d Arrays in Python
    • Multidimensional Array in Python
    • Python Array Functions
    • String Array in Python
    • Python Sort Array
    • Python Array Length
  • OOPS Concept
    • Inheritance in? Python
    • Single Inheritance in Python
    • Overriding in Python
    • Function Overloading in Python
    • Method Overriding in Python
    • Encapsulation in Python
    • Polymorphism in Python
    • Static Method in Python
    • Method Overloading in Python
    • Operator Overloading in Python
    • Constructor in Python
    • Destructor in Python
    • Python Overloading
    • Multiple Inheritance in Python
    • Multilevel Inheritance in Python
    • Interface in Python
  • Programs
    • Patterns in Python
    • Star Patterns in Python
    • Swapping in Python
    • Factorial in Python
    • Fibonacci Series in Python
    • Reverse Number in Python
    • Binary number in Python
    • Palindrome in Python
    • Random Number Generator in Python
    • Prime Numbers in Python
    • Armstrong Number in Python
    • Perfect Number in Python
    • Strong Number in Python
    • Leap Year Program in Python
    • Anagram Program in Python
    • Square Root in Python
    • Python Reverse String
    • Python Object to String
    • Python string append
    • Python Raw String
    • Python Object to JSON
    • Python Classmethod vs Staticmethod
  • Exception
    • Python Exception Handling
    • Custom Exception in Python
    • Indentation Error in Python
    • Python Memory Error
    • Python User Defined Exception
    • Python IOError
    • Python EOFError
    • Python NotImplementedError
    • Python TypeError
    • Python ValueError
    • Python AssertionError
    • Python Unicode Error
    • Python NameError
    • Python StopIteration
    • Python OverflowError
    • Python KeyboardInterrupt
  • PySpark
    • PySpark Read CSV
    • PySpark lit()
    • PySpark Pipeline
    • PySpark Join on Multiple Columns
    • PySpark GitHub
    • PySpark to Pandas
  • NLTK
    • What is NLTK
    • NLTK Stop Words
    • NLTK Tokenize
    • NLTK Remove Punctuation
    • NLTK Sentiment Analysis
    • NLTK POS Tag
    • NLTK Lemmatizer
    • NLTK Corpus
    • NLTK Stemming
    • NLTK word_tokenize
    • NLTK WordNet
  • SpaCy
    • SpaCy ner
    • spaCy Matcher
    • spaCy Text Classification
    • spaCy Dependency Parser
    • SpaCy Tokenizer
    • SpaCy NLP
    • SpaCy models
  • Advanced
    • Python Pillow
    • Merge Dictionaries in Python
    • Dictionary Python Remove
    • Python Data Analysis Example
    • Scope in Python
    • Python Itertools
    • Python Join List
    • Python Pillow Install
    • Python Projects in GitHub
    • Python Projects with Database
    • OrderedDict in Python
    • Python Collections
    • statsmodels Python
    • Python NOT Operator
    • classmethod in Python
    • Assert in Python
    • Python References
    • Python Virtualenv
    • Python mkdir
    • Logistic Regression in Python
    • Dictionary in Python
    • Sort Dictionary in Python
    • Nested Dictionary Python
    • List of Dictionary in Python
    • Python Directories
    • Regular Expression in Python
    • Python Import Module
    • Python OS Module
    • Python Sys Module
    • Python Generators
    • Abstract Class in Python
    • Python File Operations
    • Sequences in Python
    • Stack in Python
    • Queue in Python
    • Deque in Python
    • Tuples in Python
    • Python Magic Method
    • Python Sets
    • Python Set Methods
    • Priority Queues in Python
    • Python Create Directory
    • Reverse Engineering with Python
    • Underscore in Python
    • Serverless Python
    • String Formatting in Python
    • f String in Python
    • Python isinstance
    • String Length Python
    • Python Concurrency
    • Python List
    • Python Initialize List
    • Python Unique List
    • Python Sort List
    • Selection Sort in Python
    • Python Reverse List
    • Python Empty List
    • List Comprehensions Python
    • List Operations in Python
    • Python Repository
    • Python Database Connection
    • Python SQLite
    • Data Analysis with Python
    • Python Language
    • Object Oriented Programming in Python
    • Python is Open Source Language
    • Python SQL
    • Python SQL Library
    • Python SQLite Create Database
    • Send Mail in Python
    • Bash Scripting and Python
    • Violent Python Book
    • NLP in Python
    • Matplotlib In Python
    • Gray Hat Python: Security
    • Python Subprocess
    • Python bokeh
    • Python pillow resize image
    • Python xlrd
    • Python Projects
    • Python Threading Timer
    • Python Threadpool
    • Python Statistics Module
    • How to Call a Function in Python?
    • Python Curl
    • JSON in Python
    • Python JSON to string
    • Python json.dumps
    • Python Turtle
    • Python testing framework
    • Python Unit Test
    • pass Keyword in Python
    • Tokenization in Python
    • Random Module in Python
    • Python Multiprocessing
    • Python getattr
    • Collection Module in Python
    • Python Countdown Timer
    • Python Context Manager
    • Python Event Handler
    • Python Print Table
    • Python Docstring
    • Python Dictionary Keys
    • Python Iterator Dictionary
    • Python Class Attributes
    • Python Dictionary Methods
    • Namedtuple Python
    • OpenCV Python
    • OpenCV erode
    • OpenCV save image
    • Traceback in Python
    • Decorator in Python
    • Python Pygame
    • Python Class Constants
    • Python Validation
    • Python Switch Case
    • Linked List in Python
    • DFS Algorithm in Python
    • Priority queue algorithm
    • Tree Traversal Python
    • AVL Tree Python
    • Binary Search Tree Python
    • Binary tree in Python
    • Binary search in Python
    • BFS Algorithm Python
    • Python Rest Server
    • Python Yield vs Return
    • Python Pickle vs JSON
    • Python Read Excel File
  • BeautifulSoup
    • BeautifulSoup Find
    • BeautifulSoup find by class
    • BeautifulSoup Web Scraping
    • BeautifulSoup get text
    • BeautifulSoup Table
    • BeautifulSoup Requests
  • Interview Question
    • Python Interview Questions And Answers

Python Main Method

By Priya PedamkarPriya Pedamkar

Python-Main-Method

Introduction to Python Main function

In general, all the programming languages have a main() function as a pre-defined function/ method to indicate to the compiler that it is the beginning of the execution flow. Python language is an exception to this, as its execution is in a serial manner, and the first line of the code will be the starting point by default. Despite the main() function not being a mandatory element, if the programmer wishes to have the main method to sort the other parts of the code, one can always create a user-defined method, which will operate similar to other methods python.

How to declare the Python Main Function?

The main method is defined in a similar fashion to other functions defined in python.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

1. Basic main function

print('Introduction to main() function')
def main():
    print("This is main function")
print('Outside main function')

Output: demo.py

>>>

=== RESTART: C:/Users/hp/AppData/Local/Programs/Python/Python37-32/demo.py ===

Introduction to main() function

2. Outside main function

>>>

Explanation: Python interpreter starts executing a python file from the top. First, it will print the first print statement, i.e. Introduction to main() function. It finds the main() method definition since it’s a mere definition and not a function call, so it bypasses this and executes the next print statement that follows this.

Note: In python, it doesn’t necessarily name the ‘main’ method as main(). It could be defined with any valid identifier name like main1(), main(), etc.

Execution of main() requires a brief understanding of the __name__ variable.

3. Brief about __name__ variable

__name__ variable is a special implicit variable containing a string, and the string’s value depends on how the code is being executed.

Basically, there are two ways in which python interpreters execute code and __name_ this populates_ value.

a. The most common way is to execute the file as a python script

In this case __name__ will contain the string “__main__”

b. By importing the necessary code from one python file to another file.

In this case __name__ will contain the imported module name

__name__ variable helps to check if the python file is being run directly or if it has been imported from some other file.

Examples of Python Main Method

Following are some examples of python main method:

1. Sum function: File is saved as sum_numbers.py

Python file: sum_numbers.py

def sum(a,b):
    return (a+b)
print(sum(3,6))
print("__name variable set to ",__name__)

The above program is the main program and is not imported from other python files, so the value of __name__ variable is set to __main__ as shown in the output below:

Output: sum_numbers.py

python main method output 1

2. When a python file is imported from another file

This file is saved as sum.py

Python file: sum.py

import sum_numbers
print(sum_numbers.sum(10.25,9.05))
print("value of __name__:",__name__)

Explanation:

  • Sum_numbers file is being imported in program file ‘sum.py’, so all the statements inside this are executed first.

i.e print(sum(3,6)) à  9

print(“__name variable set to “,__name__) à since this is being imported from sum_numbers so __name__ is set to sum_numbers

  • print(sum_numbers.sum(10.25,9.05)) à3

print(“value of __name__:”,__name__) à sum.py  is main file here so __name__  is set to __main__.

Output: sum.py

Sum.Py

To avoid the statements to get executed from the imported file ‘sum_numbers’ like in this case, we can use if conditional statements.

The below code example can illustrate this:

The above sum_numbers.py python file can be changed as below:

Python file: sum_numbers.py

def sum(a,b):
    return (a+b)
if __name__=='__main__':
    print(sum(3,6))
print("__name variable set to ",__name__)

Python file: sum.py

import sum_numbers
print(sum_numbers.sum(10.25,9.05))
print("value of __name__:",__name__)

In this case, output from imported file ‘sum_numbers.py’ is not printed when we execute sum.py because of this condition:

if __name__==’__main__’:

as this condition fails because sum_numbers is the imported module and not the main file.

Output: sum.py

python main method output 3

Key points to consider when main() is being used in the python program:

1. As python is an object-oriented programming language, we should incorporate its benefits into our program. This can be done by placing bulk logic codes in compact functions and/or classes for better code reusability, better debugging, a better understanding of the program and overall code optimization.

This approach will enable us to control our code’s execution rather than letting the python interpreter execute it.

This is best illustrated in the above code example, where we used if condition to prevent the output from the imported file.

2. Use __name__ variable to control the execution of code

If __name__=='__main__:
<logic of program>

3. Create main() function and put your logic inside this

Python file: demo.py

print("Main function illustration")
def sum(a,b):
    return (a+b)
def main():
    print("Inside main() function")
x=int(input("enter value x"))
y=int((input("enter value y")))
print("sum of values entered is",end=' ')
print(sum(x,y))
if __name__ == "__main__":
    main()
  • Here we have defined sum() and main().
  • Sum() will calculate the sum of two numbers,
  • Inside the main() method, we have prompted the user to enter values for x and y through the input() statement, which is then converted to integer values as input() returns string values.
  • Then sum(x,y) is called inside the main function, and control will transfer to the sum() method defined at the top, which will return the sum of the user’s numbers.
  • All the above functionalities are handled by the __name__ variable.
  • As demo.py is the main program file and is not being imported from any other python file, so __name__ is set to string __main__.
  • If there have been some import statements, then the below condition

If __name__ == “__main__”:

will fail as __name__ now will have the imported module name

In this way, I put the code which I wanted to run inside main(), programming logic in “SUM”, which is being called from main() and called the main() within the conditional statement.

Output: demo.py

Example 4 output

Conclusion – Python Main Method

Well, it’s not necessary to use the main() method in python, and it’s completely up to the programmer whether to have it in the code or not. However, it is good practice to use the main() method because with the help of the main() function; we can execute a ton of functionalities as and when needed and also control the flow of execution.

Recommended Article

This is a guide to Python Main Method. Here we discuss how to declare the Python Main Function along with the Examples and Outputs. You may also look at the following article to learn more –

  1. Python Built-in Functions
  2. Arrays in Python
  3. Sorting in Python
  4. Inheritance in Python
Popular Course in this category
Python Certifications Training Program (40 Courses, 13+ Projects)
  40 Online Courses |  13 Hands-on Projects |  215+ Hours |  Verifiable Certificate of Completion
4.8
Price

View Course
Primary Sidebar
Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Live Classes
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

ISO 10004:2018 & ISO 9001:2015 Certified

© 2023 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

By signing up, you agree to our Terms of Use and Privacy Policy.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more