Python Main function
What is it
__main__
is the name of the scope in which top-level code executes.
A module’s name is set equal to __main__
when read from standard input, a script, or from an interactive prompt.
A module can discover whether it is running in the main scope by checking its own __name__
, which allows a common idiom for conditionally executing code in a module. When it is run as a script or with python -m
but not when it is imported:
>>> if __name__ == "__main__":
... # execute only if run as a script
... main()
For a package, the same effect can be achieved by including a main.py module, the contents of which will be executed when the module is run with -m.
For example, we are developing a script designed to be used as a module, we should do:
>>> def add(a, b):
... return a+b
...
>>> if __name__ == "__main__":
... add(3, 5)
Advantages
- Every Python module has it’s
__name__
defined and if this is__main__
, it implies that the module is run standalone by the user, and we can do corresponding appropriate actions. - If you import this script as a module in another script, the name is set to the name of the script/module.
- Python files can act as either reusable modules, or as standalone programs.
- if
__name__ == “main”:
is used to execute some code only if the file run directly, and is not being imported.
- Previous
- Next
Python abs() built-in function
Python aiter() built-in function
Python all() built-in function
Python any() built-in function
Python ascii() built-in function
Python bin() built-in function
Python bool() built-in function
Python breakpoint() built-in function
Python bytearray() built-in function
Python bytes() built-in function
Python callable() built-in function
Python chr() built-in function
Python classmethod() built-in function
Python compile() built-in function
Python complex() built-in function
Python delattr() built-in function
Python dict() built-in function
Python dir() built-in function
Python divmod() built-in function
Python enumerate() built-in function
Python eval() built-in function
Python exec() built-in function
Python filter() built-in function
Python float() built-in function
Python format() built-in function
Python frozenset() built-in function
Python getattr() built-in function
Python globals() built-in function
Python hasattr() built-in function
Python hash() built-in function
Python help() built-in function
Python hex() built-in function
Python id() built-in function
Python __import__() built-in function
Python input() built-in function
Python int() built-in function
Python isinstance() built-in function
Python issubclass() built-in function
Python iter() built-in function
Python len() built-in function
Python list() built-in function
Python locals() built-in function
Python map() built-in function
Python max() built-in function
Python memoryview() built-in function
Python min() built-in function
Python next() built-in function
Python object() built-in function
Python oct() built-in function
Python open() built-in function
Python ord() built-in function
Python pow() built-in function
Python print() built-in function
Python property() built-in function
Python range() built-in function
Python repr() built-in function
Python reversed() built-in function
Python round() built-in function
Python set() built-in function
Python setattr() built-in function
Python slice() built-in function
Python sorted() built-in function
Python staticmethod() built-in function
Python str() built-in function
Python sum() built-in function
Python super() built-in function
Python tuple() built-in function
Python type() built-in function
Python vars() built-in function
Python zip() built-in function
Python Args and Kwargs
Python Basics
Python built-in functions
Python Comprehensions
Python Context Manager
Python Control Flow
Python Dataclasses
Python Debugging
Python Dictionaries
Python Exception Handling
File and directory Paths
Python Functions
Python Json and YAML
Python Lists and Tuples
Python Main function
Manipulating strings
Python OOP Basics
Reading and writing files
Python Regular Expressions
Python Sets
Python Setup.py
Python String Formatting
Python Virtual environments