if __name__=="__main__": 这个结尾的理解


print "别人应用我做为模块导入,就只看到我"

if __name__=="__main__":  

  print "自己文件执行就看到我输出"

这个的意思是,当是自己文件里执行脚本的的话,就执行  print "别人应用我做为模块导入, 和 " if __name__=="__main__":  下面的代码

假如是别人来调用我这个文件的话,他只能执行 print "别人应用我做为模块导入,就只看到我"  

一句话,秒懂
__name__ 是当前模块名(print __name__   出来是 __main__ ),当模块被直接运行时模块名为 __main__ 。

这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。

 例子:

BB.py import AA 模块  只执行了foo()函数 没有执行" if __name__=="__main__":  下面的代码 print 123

 

 

 

AA.py 自己执行脚本的话,就会去执行" if __name__=="__main__":  下面的代码 print 123 

 

后记:

每个文件的 __name__ 值是不一样的,if __name__="其他的name值" 也会执行下面的代码。

查看文件的__name__值 可以在b文件里面import a文件,就可以看到 b文件的name值是多少了

下面文件 b文件调用a文件,因为__name__=b 所以执行了a文件下的 "这个是a"

a.py文件 自己执行时,是不会 执行下面的 "这个是a",因为自己的name 是__main__

 

参考: https://blog.csdn.net/q2605894893/article/details/82345814


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM