29.4. __main__ — Top-level script environment

'__main__'是一个作用域的名称,顶层代码在这个作用域中执行。当从标准输入,脚本或交互式提示读取时,模块的__name__设置为等于'__main__'

模块可以通过检查它自己的__name__来发现它是否在主作用域中运行,这允许在作为脚本运行时或在 python -m但不导入时:

if __name__ == "__main__":
    # execute only if run as a script
    main()

对于包,通过包括__main__.py模块可以实现相同的效果,当模块以-m运行时,将执行该模块的内容。