python中__name__的意义以及作用

python中__name__的意义以及作用

2017年09月24日 17:06:27 IAMoldpan 阅读数 24272更多

分类专栏: python

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/IAMoldpan/article/details/78077983

首先定义了一个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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

运行test.py结果:

I am in my domain,my name is __main__
  • 1

然后继续创建一个main.py的文件,程序如下:

main.py

import test

   test.HaveFun()
  • 1
  • 2
  • 3
  • 4
  • 5

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

Someone else calls me!,my name is test
Someone else calls me!,my name is test
  • 1
  • 2

这里打印了两次,第一次实在main.py在进行import test的时候,进行的打印,第二次才是test.HaveFun()中执行的打印,可以发现,这里的 
__name__名称已经发成了变化,从之前的main变成了模块名称test。

总结:

1、__name__这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中,__name__ 的名称就是__main__如果不是,则为这个模块的名称。 
2、__main__一般作为函数的入口,类似于C语言,尤其在大型工程中,常常有if __name__ == "__main__":来表明整个工程开始运行的入口。

原文地址:https://www.cnblogs.com/grj001/p/12224038.html