关于编码风格:Python的格式:run()或main()

Python format: run() or main()?

对于python世界来说,这是一个相当新的概念,来自matlab,我一直被教导使用run()函数来执行脚本。

但是,当在python中处理多个.py文件时,我注意到这是常见的(必需的?)在每个脚本中使用__main__.py和随后的main()函数。

我通读了pep8风格指南和google风格指南,它似乎在每个脚本中都有一个main()功能,这似乎是常见的惯例,但是……

我使用run()是否不正确(或风格不好)?您首选的命名约定是什么?


However when working with multiple .py files in Python, I've noticed it's common (required?) to use main.py and subsequently a main() function in each script.

不,不需要在python包中包含__main__.py文件。简单地说,__main__.py是一个方便的入口点钩子,它允许您命名如果要用python运行模块,应该运行什么代码。例如,如果我有一个名为foo的包(文件夹)和一个__main__.py文件:

1
2
3
4
5
foo
|
+--- __main__.py
|
+--- foo.py

然后我可以直接从命令行运行包:

1
$ python foo

然后,python将在foo中执行__main__.py文件。如您所见,这为某人执行包中的代码提供了一种方便的方法。

Am I incorrect (or in bad style) for using run()? What is your preferred naming convention?

您可以自由命名执行代码的主要函数,无论您选择什么,包括run。人们通常称之为main的原因是在其他语言中,必须调用名为main的函数来执行程序。它是操作系统用来执行程序的入口点。


您可以在python shell中使用execfile(filename)

您的问题的详细解决方案可以在这里找到。

另外,不需要将您的函数命名为main()左右。选择任何你喜欢的,不是保留的或内置的。