Python program start

前端 未结 4 807
不思量自难忘°
不思量自难忘° 2021-02-05 05:33

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

4条回答
  •  说谎
    说谎 (楼主)
    2021-02-05 06:32

    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
    

提交回复
热议问题