我明白这个的作用,但我想知道在使用if __name__ == '__main__'
时最符合Python规范的方式是什么?
我在使用上有些犹豫,不知道是把所有代码放到一个main()
函数中并像下面这样调用:
if __name__ == '__main__':
main()
或者不必烦恼,直接将所有一级代码都写在那里:
if __name__ == '__main__':
# all top-level code...
我明白这个的作用,但我想知道在使用if __name__ == '__main__'
时最符合Python规范的方式是什么?
我在使用上有些犹豫,不知道是把所有代码放到一个main()
函数中并像下面这样调用:
if __name__ == '__main__':
main()
if __name__ == '__main__':
# all top-level code...
__name__
保护下,就无法重复使用该代码。另一方面,如果您将代码放入main()
函数中,您可以随时在其他地方导入该函数并调用它。main()
函数之前添加依赖项到sys.path
)。我不知道哪种方式更符合惯用语,但将所有内容放在一个main
函数中并进行调用的原因之一是,局部变量查找比全局变量查找更快(请参见此问题以获取解释)。
免责声明:我只从CodeAcademy学过一点Python。
我会先编写主函数,然后调用它。这将把你的代码组合成一个“组”。JavaScript几乎做了同样的事情,但他们称之为模块。他们创建函数,然后立即调用它。
JavaScript示例
(function() {
// Stuff here
})();