Python中if __name__ == '__main__'的作用与原理详解
一、核心作用:控制代码执行逻辑
Python文件通常有两种用途: 作为主脚本直接运行 作为模块被其他文件导入 if __name__ == '__main__' 用于区分这两种场景,确保模块中的代码仅在直接运行时执行,避免...
二、典型应用场景
模块的自我测试 防止导入时执行初始化代码 分离模块功能与执行逻辑
三、运行原理深度解析
每个Python模块都包含内置属性__name__: 当文件直接执行时,__name__被设置为"__main__" 当文件被导入时,__name__被设置为模块名称(不含.py后缀) # ...
四、最佳实践示例
标准工程化写法 # 计算模块 math_util.py def factorial(n): return 1 if n == 0 else n * factorial(n-1) def...
五、常见误区说明
文件名影响:假设__name__包含文件路径(实际只与导入名称相关) 错误比较:写成__name__ == "test.py"(正确应为__name__ == "__main__") 过度使用...
六、扩展应用:命令行参数处理
if __name__ == '__main__': import sys if len(sys.argv) > 1: print(f"输入参数: {sys.ar...