详解Python中__name__的意义以及作用

苏见山
苏见山
发布时间:2026-10-13 | 3人浏览过
原创

本文深入解析Python中__name__系统变量的工作机制。通过对比直接运行脚本与导入模块两种场景,阐明__name__如何从__main__切换为模块名。重点讲解if __name__ == "__main__":语句在大型工程中标记程序入口的核心作用,帮助开发者理解模块执行流程与代码复用逻辑。

Python __name__变量基础与运行机制

首先创建一个名为test.py的文件,在该文件中定义一个函数,并在函数定义完成后直接调用执行。

test.py


def HaveFun():
 if __name__ == '__main__':
  print('I am in my domain,my name is %s' % __name__)
 else:
  print('Someone else calls me!,my name is %s' % __name__)


HaveFun()

直接运行test.py文件的输出结果如下:

I am in my domain,my name is __main__

接着创建另一个文件main.py,其代码如下:

main.py


import test

 test.HaveFun()

执行main.py文件后,输出结果如下:

Someone else calls me!,my name is test Someone else calls me!,my name is test

此处打印了两次信息。第一次是在main.py执行import test语句时触发的打印,第二次则是调用test.HaveFun()函数内部的打印。可以看出,此时

__name__的值已发生变化,由之前的__main__变为了模块名称test。

__name__与__main__的核心作用总结

总结:

1、__name__是一个系统变量,用于显示当前模块执行时的名称。如果当前程序是直接运行的模块,__name__的值即为__main__;如果是被其他模块导入,则__name__的值为该模块的文件名(不含扩展名)。 2、__main__通常作为程序的入口点,类似于C语言中的main函数。在大型工程项目中,常使用if __name__ == "__main__":来判断并标识整个工程的启动入口。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表