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 if main
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 if main

By Priya PedamkarPriya Pedamkar

Python if main

Introduction to Python If Main

The sole purpose of any program which we write is to have hassle-free execution of the same. The main function in Python acts as a point of execution for any program. A program gets executed only when it is executed from the main function, and it does not get executed when it is imported as a module. Defining Python’s main function is not mandatory, but it is a good practice to do so for better readability of your program. The main function is denoted by the following keyword main(). Let us have a look at the syntax and a basic example of Python main function.

Python Execution Modes

There are mainly two ways by which we tell the Python interpreter to execute the program:

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

  1. Directly executing the Python file.
  2. Importing an external Python file as a package and then using the function from that file.

When we want to execute the Python script directly, then Python will assign “__main__” to __name__ as we will see in the below example.

The conditional if statement, when evaluated to True, means that the Python script will execute directly. Thus, the conditional if the statement is written at the end after all other functions and classes have been defined. The function of the __name__ variable is to check whether the file is being run directly or it is being imported.

Executing by Importing the necessary code from one Python file to another

Syntax:

module1.py
def function1():
  // function1 definition
if __name__ == "__main__":
  function1()
import module1
module1.function1()

Example Code:

# module1.py
import numpy as np
def get_square(number):
  square = np.square(number)
  return square
if __name__ == "__main__":
  get_square(5)
import module1
module1.get_square(5)

In the above example, we have defined a function get_square that accepts a number as an argument and returns that number’s square. We have saved that file as module1.py.

We are using the get_square function in the main function by importing the module1 script as a module.

Best Practices for Writing Main functions

The following are the best practices that are to be considered while writing the main function in Python: –

1. We must use functions and classes wherever we feel necessary

Since Python is an Object-Oriented programming language, we must take full advantage of it and different functionalities under different classes and functions. This helps in better reusability and readability of the code. In this way, the execution of the code is also controlled.

Code:

import numpy as np
def get_square(number):
    print("The square of {} is :".format(number))
    square = np.square(number)
    return square
print("Using function :")
square=get_square(5)
print(square)

Output:

Python if main output 1

2. We must use the variable “__name__” to control the execution of our code

The variable __name__, when used with a conditional if statement when, evaluates to True, then only the next statements get executed. This way, the flow of execution of the code is better handled.

Code:

def main():
    print("Programming in Python is fun!!!")
    if __name__== "__main__" :
main()

Output:

Python if main output 2

In the above example, there is a function called main(). Inside the main function, we have a print function. After that, we have a conditional if statement which checks whether the value of __name__ is equal to the string “__main__”. Once the condition is evaluated to True, it executes the main() function, and thus the print statement “Programming in Python is fun!!!” gets executed.

3. We must use the main function

A code written inside the main function gets executed even if it has not been called explicitly. It is the starting point of every execution process. The common piece of code which is always supposed to be executed must be placed inside the main function. In this way, the main function statements get executed first and then the rest statements are executed.

Code:

import numpy as np
def get_square(number):
    print("Inside the first function")
    print("The square of {} is :".format(number))
    square = np.square(number)
    return square
def main(number):
  print("Inside the main function")
  square_root = np.sqrt(number)
  print("The square root of {} is {}".format(number,square_root))
  square = get_square(number)
  print(square)
if __name__ == "__main__":
    main(5)

Output:

Square Root Function

4. We must call other functions from the main function

For large chunks of code to be executed in the main function, it is good to place them in separate functions and call them explicitly from the main function. It increases the robustness and readability of your program.

Code:

import numpy as np
def get_square(number):
  print("Inside the square function")
  print("The square of {} is :".format(number))
  square = np.square(number)
  return square
def get_square_root(number):
  print("Inside the square root function")
  print("The square root of {} is :".format(number))
  square_root = np.sqrt(number)
  return square_root
def main(number):
  print("Inside the main function")
  square_root = get_square_root(number)
  print(square_root)
  square = get_square(number)
  print(square)
if __name__ == "__main__":
  main(5)  

Output:

Square Function

Conclusion

It is time to draw closure to this article. In this article, we have seen the basic concepts of if the main function in Python. We have looked at the Syntax and discussed the different examples related to it. Next time you write a code in Python, do remember to keep these concepts in mind.

Recommended Articles

This is a guide to Python if main. Here we discuss the two ways of Python interpreter to execute the program along with the respective examples. You may also have a look at the following articles to learn more –

  1. Python Subprocess
  2. Python Set Function
  3. Python List Functions
  4. Python Countdown Timer
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
Free Software Development Course

Web development, programming languages, Software testing & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*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

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