详解Python中__name__的意义以及作用
本文深入解析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__":来判断并标识整个工程的启动入口。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













