版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28893679/article/details/84374466
首先创建了一个test7.py的文件,里面代码如下:
# -*- coding: utf-8 -*-
print "this is begin...."
def helloworld():
print "调用了hellworld方法"
if __name__ == "__main__":
helloworld()
print "this is end."
此时执行该文件,输出结果为:
此时代码的逻辑和我们想象的一样。那么我们再创建一个test8.py文件,里面只需要有个写一行代码即可:
import test7
然后执行test8.py文件,得出的结果如下:
也就是说此时只执行了第一步,这是为什么呢?
我们看test7.py中的这段代码如下,也就是说只有当__name__的值为__main__的时候,才会执行以下逻辑。
既然如此,我们添加__name__的输出,即:
然后分别执行test7.py和test8.py。结果分别为:
也就是说,执行test7.py的时候,name__的值为__main,此时满足条件,而当执行test8.py的时候,__name__的值为test7,不满足条件。
得出的结论:
当执行当前py文件的时候,name__的值为__main,而当import其他文件时,当执行其他文件中的某些方法时,__name__的值是该文件的文件名!