经常在代码中看到if __name__ == '__main__'这个判断,那么这个判断到底是什么意思呢,好像加不加没有什么区别啊,下面说说它的作用,在a.py中
#在a.py中
print("在a.py中")
if __name__ == "__main__":
print("在a.py主线程中")
else:
print("拜拜,不在a.py主线程中")运行的时候,输出:
在a.py中
在a.py主线程中
创建一个b.py
# 在 b.py中
import a #导入a.py
print("在b.py中")
if __name__ == "__main__":
print("在b.py的主线程中")
else:
print("很遗憾,不在b.py的主线程中")运行的时候,输出:
在a.py中
拜拜,不在a.py主线程中
在b.py中
在b.py的主线程中
很明显可以看出,在别的地方导入的时候,线程已经不算主线程了
本文通过示例解释了Python中if __name__ == '__main__':的作用,当模块被直接运行时,该条件成立,而被导入时则不成立。有助于区分程序的入口点和被导入行为。

被折叠的 条评论
为什么被折叠?



