Python3一篇文章把if __name__ == ‘__main__’讲透彻

Author: 陌小雨Date: 2018-03-23View: 502

之前python3文章中有if __name__ == '__main__'这个,很多初学者搞不懂,为啥要写这个呢,又是啥意思呢,今天小雨就用一篇文章来把这个东西讲透彻:

新建test.py文件,代码如下:

# coding=utf-8
print('Python从入门到入魔')

def main():
	print('Python从入门到入魔')
print(__name__)
if __name__ == '__main__':
	main()
	print('Python从入门到入魔,群号274728691')

运行后结果如下:

我们可以看到此时__name__的值为__main__ 所以if语句判断成立,后面的代码就都成功执行了。

我们再到和test.py同一个目录下新建一个python文件,代码如下:

import test

运行结果如下:

我们我们可以看到此时__name__的值为test,也就是引入的文件的文件名,所以if语句判断成立,后面的代码就没有执行。

总结:if __name__ == '__main__' 的意思是:当python文件被直接运行时,if __name__ == '__main__' 之下的代码块将被运行;当python文件以模块形式被导入时,if __name__ == '__main__' 之下的代码块不被运行。