Python3.x:if __name__ == '__main__'简单解释

if __name__ == '__main__':
很多代码都会见到,但是更想真正的理解,网上也有很多详细的解释,这里我说一个比较简单的理解方法
在同一目录下先自己写一个简单的模块testmodule.py:

def hello():
    print('hello')

然后再写一个bin.py:

import testmoudle
testmoudle.hello()

这里我们运行bin.py发现打印了两次'hello'
这就说明import testmoudle打印了一次,testmoudle.hello()也打印了一次
这时候我们就可以用到if __name__ == '__main__'
在testmoudle.py按如下内容添加两行代码:

def hello():
    print('hello')
if __name__ == '__main__':
    hello()

这个时候我们再运行bin.py发现就打印一次'hello'了,这是为什么呢,让我们研究一下

既然是if __name__ == '__main__'那我们在testmoudle中注释掉后两行添加print(__name__)看看__name__到底是什么?

得到输出'__main__'

既然这样if条件就成立了啊,为什么添加这两行之后在bin中调用import这一行就不再输出了呢?

我们保持print(__name__)在testmoudle.py中,然后运行bin.py,这个时候应该再打印一次__name__

但是这次的输出却得到了testmoudle,将自己写的模块名打印了出来

看到这里,我想大家应该明白了一些,下面我来总结一下:

1.if __name__ == '__main__'自己调用时__name__为'__main__',条件成立,执行if语句中函数

2.if __name__ == '__main__'从别的文件调用时__name__为'调用的文件名',if条件不成立,则不执行

综上自己也能大概理解这个if __name__ == '__main__'的用法,希望能帮到你们。

转载请注明出处

python自学技术互助扣扣群:670402334

你可能感兴趣的:(Python3.x:if __name__ == '__main__'简单解释)