2026-06-03 11:41:27
在Python中,if __name__ == '__main__': 是一个常见的代码块,用于判断当前模块是否作为主程序运行。以下是对其作用和原理的详细总结:
1. 作用如果模块是直接运行的(例如通过命令行执行),__name__ 的值会被设置为 '__main__'。
如果模块是被导入的,__name__ 的值会是模块的文件名(不含 .py 后缀)。
假设有一个文件 example.py,内容如下:
def hello(): print("Hello from example module!")if __name__ == '__main__': print("This script is being run directly.") hello()else: print("This script is being imported.")直接运行:
python example.py输出:
This script is being run directly.Hello from example module!被其他模块导入:
# another_script.pyimport exampleexample.hello()输出:
This script is being imported.Hello from example module!if __name__ == '__main__': 是Python中用于区分“直接运行”和“被导入”的重要机制。它的主要作用是:
虽然Python不需要像编译型语言那样显式定义主函数,但这一结构在模块化开发和代码组织中非常有用。