python中__name__的意义

Posted 进击的星星

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()
  • 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

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

总结:

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



以上是关于python中__name__的意义的主要内容,如果未能解决你的问题,请参考以下文章

Python----面向对象---封装的意义

python中 __name__=='__main__' 的作用

浅析python 中__name__ = '__main__' 的作用

浅析python 中__name__ = '__main__' 的作用

浅析python 中__name__ = '__main__' 的作用

浅析python 中__name__ = '__main__' 的作用