【入门】if __name__ == "__main__":的作用

if __name__ == "__main__": 是 Python 中一个常见的代码结构,它的作用是 判断当前模块是否作为主程序运行。这句话看起来简单,但非常重要,尤其是在模块化编程中。下面我会详细解释它的作用,并举一些例子帮助你理解。

1. 它的作用是什么?
当模块作为主程序运行时:

__name__ 的值是 "__main__"。
if __name__ == "__main__": 下面的代码块会被执行。
当模块被导入到其他模块时:

__name__ 的值是模块的文件名(去掉 .py 后缀)。
if __name__ == "__main__": 下面的代码块 不会被执行。
简单来说,它用于 区分模块是直接运行还是被导入,从而控制代码的执行逻辑。

2. 为什么需要它?
场景 1:模块化开发
假设你写了一个模块 my_module.py,里面定义了一些函数和类,同时还有一些测试代码。你希望:

当直接运行 my_module.py 时,执行测试代码。
当其他模块导入 my_module.py 时,不要执行测试代码。
这时,if __name__ == "__main__": 就派上用场了。

场景 2:避免不必要的代码执行
如果模块中没有 if __name__ == "__main__":,当它被导入时,模块中的所有代码都会被执行,这可能会导致一些意外行为,比如:

打印调试信息。
执行一些初始化操作。
运行测试代码。

posted @ 2025-03-25 17:24  测试员阿侠  阅读(145)  评论(0)    收藏  举报