if __name__ main

General Information

Many python source files will have an interesting if statement around main(). This is why it exists.


  • Python versions: 2 and 3

The Code

if __name__ == '__main__':

It may include other statements as well.

This special if statement is checked by the python interpreter itself when it reads the source file.

  • If the source is being run as the main program, it sets that source file as the special “name” variable to “main”.
  • If the source file is being imported from another module, the “name” variable will be set to the module's name instead.

The entire reason behind this is:

  • Sometimes modules are written to be executed directly.
  • They could also be imported for use in another module.
  • The main check allows for only the “main” code to execute if run directly and not if someone imports the module to call functions.
  • python_wiki/if_name_main.txt
  • Last modified: 2019/05/25 23:50
  • (external edit)