python基础——认识(if __name__ == ‘__main__’:)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzyaiwl/article/details/82426494

  我们在写代码时,经常会用到这一句:if __name__ == '__main__',那么加这一句有什么用呢?实际上,它起到到了一个代码保护功能,它能够让别人在导入你写的模块情况下,无法看到和运行if __name__ == '__main__'下的内容。那么这是什么原理呢?下面一起来看看。

  很明显这是一句if的判断语句,而__name__对于每个py文件都是存在的且唯一,他是一个属性,对于文件本身而言,这个属性的值也是唯一的,值为__main__。如下所示:

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

  但这个文件如果被其他文件所调用时,__name__的值会变成文件名,故这时__name__ == '__main__'条件不成立,自然就无法执行其下面的内容。一个文件名为test.py,其内容如下:

print ("hello, my school")
print (__name__)

if __name__ == '__main__':
    print ("hello,world")

另一个py文件调用这个文件,内容如下:

import test

print ("本文件的__name__的值为:",__name__)
hello, my school
test
本文件的__name__的值为: __main__

上面可以发现test.py的属性值变成了test,新文件的属性值为__main__。test中不属于if __name__ == '__main__'的部分都被执行了。

猜你喜欢

转载自blog.csdn.net/wzyaiwl/article/details/82426494