老师 我想问一下 if __name__ == "__main__":有什么作用

老师 我想问一下 if __name__ == "__main__":有什么作用

老师 我想问一下 if __name__ == "__main__":有什么作用,我百度了一下 不太能看得懂

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
慕猿梦 2019-06-03 13:42:02

同学,你好,这是个测试函数,主要用于测试当前文件的代码是否能正常运行。在模块之间互相导入时,if __name__ == '__main__'里面的代码,将不会执行。给你举个例子说明下:
imooc1.py文件中代码如下:

 http://img1.sycdn.imooc.com//climg/5cf4b2d4000158b505000363.jpg

在imooc2.py中调用imooc1模块,代码如下

 http://img1.sycdn.imooc.com//climg/5cf4b2e30001935b03100232.jpg

以上例子说明:
在imooc1中,编写__name__ == '__main__'的作用:既测试了当前文件的代码是否能正常运行,又输出了__name__ == '__main__'中的代码

在imooc2中调用了imooc1中的方法,不会执行 __name__ == '__main__'中的代码(我是imooc1的__name__ == __main__).

原因:

if ___name__ == '__main__':是python解释器内部封装好的,__name__是个属性,在自身的py文件中python解释器赋予了__name__=='__main__'字符串。

 http://img1.sycdn.imooc.com//climg/5cf4b2fb0001c2ac03960193.jpg

在调用的时候__name__为模块名字,所以调用的时候不会执行被调用的模块中的if ___name__ == '__main__':下的代码。

http://img1.sycdn.imooc.com//climg/5cf4b30d0001797703800245.jpg

如果我的回答解决了你的疑惑,欢迎采纳!!祝学习愉快~~~~~


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师