__main__ 的典型应用
 
在Python编程中,if __name__ == '__main__' 结构常用于控制程序的执行流程,确保某些代码仅在脚本直接运行时执行,而在模块被导入时不执行。这种机制可以让Python代码更加模块化、可复用,并提高程序的可读性。本节将详细讲解 if __name__ == '__main__' 的几种典型应用场景。
1. 作为独立程序执行主函数
在Python中,通常会使用if __name__ == '__main__' 结构来封装主程序的执行逻辑,确保代码只有在直接运行时才会执行,而在被导入时不会执行。
示例:定义主函数
def main():print("程序正在运行...")if __name__ == '__main__':main()
代码解析
- main()函数封装了主程序的执行逻辑。
- if __name__ == '__main__'语句确保- main()只在当前脚本直接运行时执行。
运行结果
如果直接运行该文件:
程序正在运行...
如果该文件被导入:
import example
则不会执行 main(),因为 __name__ 的值是 example,而不是 __main__。
2. 防止模块被导入时执行不必要的代码
当Python脚本被作为模块导入时,文件中的代码默认会被执行。如果不加 if __name__ == '__main__' 结构,模块的代码可能会在导入时被意外运行,导致不必要的副作用。
示例:没有 if __name__ == '__main__' 时的问题
 
假设 module.py 文件包含以下代码:
