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