__main__ —顶级脚本环境


'__main__'是执行顶级代码的作用域的名称。从标准 Importing,脚本或交互式提示中读取时,模块的__name_设置等于'__main__'

模块可以pass检查其自己的__name__来发现其是否在主作用域中运行,这允许使用通用习语在模块中以脚本或python -m的方式运行时有条件地执行模块中的代码,而在导入时则无法:

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

对于一个包,pass包含__main__.py模块可以实现相同的效果,该模块的内容将在使用-m运行该模块时执行。