if __name__ =='__ main__'的样式指南是什么?

Mic*_*ski 4 python coding-style python-2.7

我理解它的目的,但是我想知道什么是最pythonic的使用方法if __name__ == '__main__'

我把我的所有代码放在一个main()函数中并将它调用为:

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

或者不打扰它,只是在那里编写所有顶级代码:

if __name__ == '__main__':
    # all top-level code...
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

如果您在__name__防护下编写所有代码,则永远不能重复使用该代码.另一方面,如果将代码放在main()函数中,则始终可以将该函数导入其他位置并调用它.

setup.py例如,在使用setuptools打包项目时,您可以将此用于在您注册的控制台脚本.这样,您可以在不先安装脚本的情况下测试脚本,并将其作为已安装的脚本运行(sys.path在调用main()函数之前将添加依赖项).