这是什么意思退出(main())

myu*_*uf3 23 python

我在最近一直在阅读的一些python脚本中看到了这一点.我查看了文档; 他们只举例说明传递终止值或某种字符串.

我认为这样做是调用main方法,然后退出?

如果有人能够对此有所了解,我将不胜感激.

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

谢谢,麻烦您了

ami*_*tas 27

这将调用该函数main(),当main完成时,它将退出,为系统提供返回代码main().

可能使用此示例的简化示例:

def main():
    try:
        doSomething()
        return 0
    except:
        return 1


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


如果未给出显式返回值,则返回main()默认值None.这将生成与显式指定相同的系统返回码return 0.如果main返回除整数之外的任何内容或None系统返回代码为1将生成.

  • 是的,但StackOverflow不允许进行2个字符的编辑.我试过了.因此评论. (3认同)
  • @themaninthewoods,您可以通过在编辑后的答案中添加 <!-- --> 来欺骗此检查 (2认同)

Chr*_*utz 19

如果您直接执行Python脚本,__name__则设置为"__main__",但如果您import从另一个脚本执行,则不是.

所以在这种情况下,脚本会看到你是否直接执行它.如果是,则调用main()函数执行某些工作,并main()通过函数将函数的返回值返回给系统exit().如果从另一个模块导入脚本,它不会执行该main()函数,只是将脚本的函数和类提供给importing脚本.

这是Python中常见的习语.它允许您拥有独立程序的脚本,但也可以在import不尝试执行importing脚本不想要的工作的情况下编辑脚本.