What is __name__ == "__main__" in Python?
·Nov 22, 2022·
1 min read
Python snippets use name == "main" checks to ensure that the module-specific code is run only when they are run directly via Python.
If you are a Python beginner, you often see
if __name__ == '__main__' and get confused about what it does. You are not alone. Most of my students at #PythonToProject Bootcampstruggle with this.
if __name__ == '__main__': ensures that the snippet under it gets executed only when the file is run directly.
Running Python module
# app.py print ("app.py __name__=", __name__) if __name__ == '__main__': print ("inside main check block")
You will get the following output when you run this code
app.py __name__=__main__ inside main check block
Importing Python module
Whereas if you import
app into another module
# temp.py import app print ("temp.py __name__=", __name__)
The output will be
app.py __name__=app temp.py __name__=__main__