Python3.x:if __name__ == '__
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