Python设计:"if __name__ == __main__"测试后的代码

Vor*_*Vor 2 python

我想听听有关这个问题的意见:之后有很多代码是不错的主意

if __name__ == '__main__':

我问这个的原因是,我当前的项目有大约400行代码,随着它的增长,我继续在上面的语句之后添加行.所以这个程序预计会有大约3000行代码,我很担心,在这个语句之后我会有太多的代码.所以问题是"在这个声明之后编写大量代码是一种很好的pythonic方法吗?"

voi*_*hos 5

一个简单的替代方法是将主代码添加到main()函数中,并在__name__检查后简单地调用它.那样,你得到:

  • __name__支票的好处
  • 功能的好处(可能重复使用也可能不重用)
  • 内省的好处(例如,如果你需要它,很容易自动分析模块的"主要"代码是什么 - 它只是main功能!).

一个例子:

def main():
    # Be awesome here.

if __name__ == '__main__':
    main()  # or sys.exit(main()), if you want to return an exit code
Run Code Online (Sandbox Code Playgroud)