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

posted @ 2018-04-20 00:04  凯宾斯基  阅读(2553)  评论(0编辑  收藏  举报