if __name__ == '__main__':在创建子进程时到底有什么用?
老师说
if __name__ == '__main__':
写不写都没有用,但是我如果不写这一段代码,在创建子进程时就会报错
12
收起
正在回答
1回答
同学,你好!是为了阻止在子进程中再创建子进,造成无线循环。
假定当前文件ccc.py ,ccc.py 文件中有创建子进程,b1.py也有创建子进程,ccc.py作为模块被导入到b1.py中,此时b1.py中有创建子进程的代码,那子进程又会执行ccc.py中的代码,创建子进程,会造成无限递归创建子进程。若是加上if __name__=="__main__"当ccc.py作为模块导入时,if __name__=="__main__"下的代码不会被执行,也就不会执行创建子进程的代码,无法递归创建子进程了。
ccc.py代码,有print("我是ccc.py的输出")
d1.py 将ccc.py 作为模块导入,并没有执行if __name__=="__main__"下的语句,只输出了"我是ccc.py的输出"这句话
避免了无限创建子进程。祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星