之前 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__' 之下的代码块不被运行。