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