Python program start

python

Solution

If your program is usable as a library but you also have a main program (e.g. to test the library), that construct lets others import the file as a library and not run your main program. If your program is named foo.py and you do "import foo" from another python file, `__name__` evaluates to `'foo'`, but if you run "python foo.py" from the command line, `__name__` evaluates to `'__main__'`.

Note that you do need to insert a space between if and _, and indent the main program:

if __name__ == '__main__':
    main program here

Problem

Should I start a Python program with: ``` if__name__ == '__main__': some code... ``` And if so, why? I saw it many times but don't have a clue about it.

Original source

Related problems