为什么一些python脚本以这种方式声明main()?

这个问题在这里已经有了答案:

  • 如果__name__ ==“__main__”:做什么? 23个答案

  • 只有当您将脚本作为主脚本运行时(例如python my_script.py ),此行才允许默认运行某些功能。

    当脚本既可以作为主程序使用,也可以在另一个python模块或python shell中导入时,这很有用。 在后一种情况下,你几乎肯定不希望main(或其他模块功能)在导入时运行,这是默认情况下当解释器加载脚本时发生的情况。

    如果你永远不会在其他代码或python shell中导入这个脚本,那么你不需要这一行。 不过,将代码设计为模块化和导入友好是很好的做法; 甚至可能出现的丢弃脚本(例如,绘制一些数字,解析一些日志等)可能在更大范围内有用。 特别是在交互式shell会话中,例如使用ipython 。 而且成本很小:在函数中封装语句并添加ifmain


    当你创建一个模块时,这通常是有用的,或者如果你打算在运行另一个脚本时导入你的scipt。 仅当该脚本是执行的主脚本时, __name__ == "__main__"为真,因此它避免了在导入语句中运行后续代码。

    链接地址: http://www.djcxy.com/p/9327.html

    上一篇: Why do some python scripts declare main() in this manner?

    下一篇: Confused with two keywords: