繁体   English   中英

Python脚本必须将函数定义为main吗?

[英]Must Python script define a function as main?

Python脚本必须/应该有main()函数吗? 例如,可以替换

if __name__ == '__main__':
  main()

if __name__ == '__main__':
  entryPoint()

(或其他一些有意义的名字)

使用名为main()的函数只是一种约定。 你可以给它任何你想要的名字。

当代码没有作为__main__模块执行时,测试模块名称只是防止代码运行的一个很好的技巧 (即不是在Python开始时导入,而是作为模块导入时)。 if测试,您可以运行任何您喜欢的代码。

在这种情况下使用函数有助于通过将名称分流到本地名称空间来保持模块的全局名称空间不整洁。 命名函数main()是常见的,但不是必需的。

不,Python脚本不必具有main()函数。 它只是遵循约定,因为您放在if __name__ == '__main__':语句下的函数是真正完成脚本所有工作的函数,因此它是主函数。 如果确实有函数名称可以使程序更容易阅读和更清楚,那么您可以改为使用该函数名称。

事实上,你甚至不需要 if __name__ == '__main__': part,但这是一个很好的做法,而不仅仅是一个约定。 当您将文件作为模块导入时,它将阻止main()函数或您想要运行的任何其他函数。 如果你不想导入脚本,你可能不需要它,但它仍然是一个很好的做法。 有关它的更多信息以及它为什么会这样做 ,请参阅if __name__ ==“__ main__”会怎么样?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM